Vous n'êtes pas identifié(e).
C'est le 1er serveur que j'ai installé, je ne connaissais ni Ubuntu ni Postgres, j'ai du faire des c* .
Pour me remettre dans les clous, je suppose qu'il faudrait faire un pg_dumpall , virer le cluster existant et en recréer un au bon endroit ?
Bonjour,
je m'occupe de 2 serveurs, dev et prod, que je croyais avoir installé à l'identique (Ubuntu 12.04, Pg 9.1.4) .
Sur la prod :
postgres@sd-16433:~$ pg_lsclusters
Version Cluster Port Status Owner Data directory Log file
postgres@sd-16433:~$ pg_ctl status
pg_ctl: server is running (PID: 2003)
/usr/lib/postgresql/9.1/bin/postgres "-D" "/var/lib/postgresql/data"
postgres@sd-16433:~$
Sur le dev :
postgres@ks3001539:~$ pg_lsclusters
Version Cluster Port Status Owner Data directory Log file
9.1 main 5432 online postgres /var/lib/postgresql/9.1/main /var/log/postgresql/postgresql-9.1-main.log
postgres@ks3001539:~$ pg_ctl status
pg_ctl: server is running (PID: 6472)
/usr/lib/postgresql/9.1/bin/postgres "-D" "/var/lib/postgresql/9.1/main" "-c" "config_file=/etc/postgresql/9.1/main/postgresql.conf"
Pourquoi pg_lsclusters ne m'affiche rien en prod ? pg_ctl et pg_dump fonctionnent très bien.
Merci beaucoup pour cet éclaircissement.
Un ingénieur de chez nous (Salim) va se mettre sur ce projet . De mon côté, je suis overbooké et probablement pas le plus compétent.
Si vous voulez vous joindre à lui, la discussion de départ est là : http://community.elgg.org/discussion/view/884091 .
Toutes les bonnes volontés sont les bienvenues.
Bonjour,
pour tester la réplication avec postgres, j'aurais voulu utiliser notre serveur de dvpt comme standby.
Il y a très peu de màj en production (pour l'instant), donc la charge ne devrait pas être un problème.
Mais je me demande s'il est possible d'avoir une base de dvpt et une base de secours (du serveur de prod) au même endroit.
Faut-il lancer 2 serveurs pg ?
L'acces à la base de prod est dans recovery.conf, mais je ne vois pas comment le standby sait quelle est la base de secours ?
Des variables quelque part ? Ou la réplication se fait-elle au niveau du cluster ? Je n'ai pas encore tout bien compris...
@kenrio : c'est peut-être ce qui va se passer. Il est envisagé de faire travailler 1 ou 2 personnes de chez nous sur le développement de cette couche d'abstraction.
+1 pour Postgres.
Un lien avec beaucoup plus de softs et leur compatibilité avec PostgreSQL : : http://socialcompare.com/fr/comparison/ … ent-system
En ce qui concerne Elgg, un développeur travaille sur une couche d'abstraction, mais c'est au stade des travaux préliminaires.
Non, c'est en cours pour Joomla (prévu pour septembre) : http://www.joomla.org/25 et http://www.joomla.fr/actualites-de-joom … -de-depart
J'ai une question subsidiaire : connaitriez-vous des concurrents de Elgg fonctionnant avec postgres ?
Il semblerait que ça ait été fait pour Joomla. Je cherche encore pour les autres.
Le projet de RSE est supposé commencer tout de suite...
Bonjour à tous,
nous voulons développer un RSE avec Elgg: http://www.elgg.org/ . Il semblerait que MySQL soit imposé, alors que je voudrais bien utiliser postgres .
J'avais trouvé la solution pour WordPress, mais là je coince. J'ai trouvé une page où un développeur dit avoir fait une interface Elgg/Postgres pour une ancienne version d'Elgg,
mais c'est tout. Quelqu'un ici connaitrait-il une solution ?
Edit : j'avais lu et répondu trop vite . Ca marche en lui faisant croire que c'est du csv !
Je vous remercie beaucoup pour votre aide, je n'aurais jamais pensé à ça .
P.S. : comment mettre le fil résolu ?
Vous avez bien compris que je veux juste extraire un champ texte d'une seule ligne de la table dans un fichier ?
J'ai aussi fait un essai en mettant chr(10) et/ou chr(13) dans le champ sans plus de succès.
La fonction complète fait plus de 500 lignes. Le principe : extraction d'une base pg pour au final créer un fichier xml .
Mon approche : une fonction pl/PgSQL qui crée un enregistrement dans une table + un script crontab qui va extraire tous les jours ce qui n'a pas été traité pour créer le fichier.
La table :
CREATE TABLE diffusion_envoi (
id_envoi integer NOT NULL,
id_diffusion integer NOT NULL,
id_agence integer NOT NULL,
dat_enreg timestamp without time zone NOT NULL,
dat_envoi timestamp without time zone NOT NULL,
nb_annonce integer NOT NULL,
fichier_nom character varying(255) NOT NULL,
fichier_contenu text NOT NULL,
dat_creat timestamp without time zone,
dat_tran timestamp without time zone,
user_db_creat character varying(40),
user_db_tran character varying(40),
user_intranet_creat character varying(40),
user_intranet_tran character varying(40)
);
Extraits choisis du code :
fictmp varchar;
...
fictmp := '<?xml version="1.0" encoding="UTF-8"?>'|| E'\n';
fictmp := fictmp||'<biens>'|| E'\n';
...
footer := '</biens>'|| E'\n';
fictmp := fictmp||footer;
fichier := fictmp;
...
INSERT INTO diffusion_envoi VALUES(default,p_diffuseur,p_agence,now(),null,totdiff,vnomfic,fichier) RETURNING currval('diffusion_envoi_id_envoi_seq') into videnvoi;
Tout se passe bien, un select me montre fichier_contenu bien présenté.
Ensuite , je fais dans psql : COPY (select fichier_contenu from diffusion_envoi where ....) to '/bidule/machin/tst.xml';
Le fichier obtenu contient des chaînes \n et non pas des line feed ou retour chariot.
Voila, je fais certainement une erreur grossière quelque part ?
Personne n'a une piste ? Dans le pire des cas, je ferai un sed, awk ou qq chose comme ça mais il y a sûrement moyen de mettre des lf dans un champ ???????
J'ai remplacé les \r\n par des \n . Maintenant , l'affichage est bon dans psql, mais quand je fais :
copy (select fichier_contenu from diffusion_envoi) to '/users/alex/public/tst.xml';
Le champ fichier_contenu contient toujours des chaines \n et pas de line feed .
En pl/PgSQL. C'est bien le bon forum ?
J'ai oublié de préciser que je suis en PostgreSQL 9.1.4 sous Ubuntu server 12.04 .
Bonjour,
je voudrais mettre à jour un champ avec des retour chariot/nouvelle ligne.
J'ai essayé plusieurs syntaxes sans succès .
Mon dernier essai :
fictmp := '<?xml version="1.0" encoding="UTF-8"?>'||E'\r\n'||'<biens>'||E'\r\n';
Rien n'y fait, il me met la chaine \r\n dans le champ au lieu de l'interpréter.
Question de débutant, je suppose, mais qui aurait la solution ?
Merci d'avance pour votre aide