PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#26 Re : Général » [Résolu] Configuration de include_dir » 04/10/2016 11:18:44

Oui oui il est bien utilisé.
En fait après différents tests je me vois que le pg_hba.conf ne fonctionne QUE s'il est dans le répertoire du serveur (dans mon cas /var/www/bdd/postgres/9.5/ ou dans le répertoire du système (/etc/postgres/version/). C'est gênant pour la facilité de gestion des configurations je trouve.

Ce serait bien de modifier la documentation et de le préciser non ?

PS : je fais comment pour clore le sujet ?

#27 Re : Général » [Résolu] Configuration de include_dir » 25/09/2016 14:38:28

Merci.
Ha, ok pour la surcharge, dasn la doc il est écris que cela permet de prendre en compte tout fichier de config, j'ai donc pensé que tous les fichiers de config seraient pris en compte sans soucis.
Ceci dit si dans le postgresql.conf de /var/www/.../conf je mets hba_file sur /var/www/..../confpg_hba-conf ça ne marche pas non plus.

#28 Général » [Résolu] Configuration de include_dir » 25/09/2016 11:13:57

Deun
Réponses : 17

Bonjour,

J'ai un système basé sur Ubuntu, qui me met les fichier de configuration postgresql, pg_hba, pg_ident dans /etc/postgres/9.5/main (ma version de postgres est 9.5 mais avec une 9.3 le problème que je vais écrire est entier.

Si dans /etc/postgres/9.5/main/postgresql.conf je mets include_dir='/var/www/bdd/postgres/conf' et que dans /var/www/bdd/postgres/conf je mets un pg_hba.conf , j'obtient une erreur de syntax et le serveur refuse démarrer.

Les droits sur les répertoires sont :

drwxr-xr-x   1 root  root   130 mars  10  2016 var
drwxr-xr-x 6 deun root       73 sept. 25 10:35 www
drwxrwxr-x 3 postgres denis 4096 sept. 24 22:17 bdd
drwx------ 6 postgres postgres    47 sept. 24 10:49 postgres
drwxrwxr-x  2 deun    postgres    6 sept. 24 13:18 conf

Si je change le répertoire avec postgres comme propriétaire et 0700 en droits d'accès ça ne change rien.

Comment faire pour délocaliser les fichiers de config et idéalement les mettre dans un répertoire qui appartienne à deun avec des droits pour deun ?

#29 Re : Installation » plusieurs clusters, mise à jour du système » 01/01/2016 18:57:03

Merci pour votre aide.
Finalement, j'ai reconfiguré le fichier postgres.config de /var/lib , mon serveur fonctionne.

J'ai décidé de résoudre mon problème de plusieurs clusters en créant un tablespace différent dans un endroit différent (je viens relire en quoi ça consiste ces "tablespace" et ça devrait répondre au besoin). Clairement ça donnerai :
- un tablespace sur /var/www/bdd/gestion avec postgres comme propriétaire et groupe et des droits 700
- un tablespace sur $HOME/../projets_SIG avec deun comme propriétaire et posgres en groupe avec des droits 776

J'utilise le conditionnel parce que pour l'instant, car je bute non pas sur un problème venant de posgres, mais venant des droits sur les répertoires en question... dans les deux cas.

#30 Re : Installation » plusieurs clusters, mise à jour du système » 31/12/2015 15:36:36

J'avoue y avoir pensé mais cela me fait un peu peur, déjà que je ne m'en sors pas avec un seul serveur... en plus je ne sais pas si je peux installer deux versions via les paquetages, ou s'il va falloir que je le compile à la main.
Et je me dis qu'il y a forcément moyen de faire autrement. C'est juste que j'y comprend pas grand chose et du coup je dois faire des bourdes.
Il y a deux jours postgres démarrait. Depuis aujourd'hui, à force de bidouiller je n'arrive plus à m'identifier avec l'utilisateur postgres dans psql alors que je n'ai pas changé de mot de passe. Et maintenant plus rien de démarre. C'est bien la preuve que c'est moi qui me débrouille comme un manche.

#31 Re : Installation » plusieurs clusters, mise à jour du système » 31/12/2015 15:20:38

Je n'ai aucun répertoire comme ça, cependant dans data/base/1/PG_VARSION il y a 9.4 auquel cs je n'ai pas de soucis sur la version. Ça règle un problème parce que je suis sûr de n'avoir jamais touché ce fichier.

#32 Re : Installation » plusieurs clusters, mise à jour du système » 31/12/2015 13:19:47

Super merci.

Bon alors le 2 était pas clair, c'est clair. Donc je reformule la chose : si mon système plante, j'installe un autre Linux, comme là c'est Fedora, que la version de postgres n'est pas la même comment je me débrouille pour retrouver mes  anciennes base de données.

Si j'ai ien compris ruizsebastien mon instance c'est les bases qui se trouvent dans /var/www/badd/data ? Je ne suis pas sûr de la version. De mémoire il me semble que c'était 9.3...
J'ai déjà regardé http://docs.postgresql.fr/9.4/pgupgrade.html mais ça n'avait pas marché. Ceci dis je n'ai sans doute pas fait ce qu'il faut pour. Voilà le résultat quand j'essaie aujourd'hui...

bash-4.3$ pg_upgrade -c /var/www/bdd/data
cannot write to log file pg_upgrade_internal.log
Failure, exiting

de même

pg_upgrade -d /var/www/bdd/data -D /var/www/bdd/pg9.4 -u postgres
cannot write to log file pg_upgrade_internal.log
Failure, exiting

rjuju : je cehrcher du côté de fedora si c'est possible, ou comment revenir à la version 9.3. Merci. Ceci étant revenir à une version antérieure ne me semble pas une bonne solution car il faudra bien un jour que je comprenne comment mettre à jour mon serveur.

#33 Installation » plusieurs clusters, mise à jour du système » 31/12/2015 11:02:06

Deun
Réponses : 10

Bonjour,

Il y a des choses fondamentales basiques que je n'arrive pas à comprendre et ça se traduit par mon incapacité à remettre mon serveur postgresql d'aplomb après une mise à jour de mon système. Donc...

J'ai une partition /var/www sur laquelle se trouve des bases de données dans /var/www/bdd/data
J'ai changé mon système linux, sans rien toucher à la partition. Du coup j'ai un nouveau postgres 9.4 au lieu du 9.3 d'avant.
Je crée un utilisateur postgres. Je lance configure le bazar pour que postgres se lance au démarrage de l'ordinateur. Là tout va bien. Sauf que :
- Il veut des bases de données dans /var/lib/pgsql/data
- que initdb refuse d'utiliser /var/www/bdd/data
- que si je lui demande de faire un upgrade de /var/www/bdd/data il me répond

su -c 'postgresql-setup --upgrade --datadir=/var/www/bdd/data'
WARNING: --datadir option is ignored, either use --new-systemd-unit
         option, or configure the systemd unit manually.
ERROR: Cannot upgrade because the database in /var/lib/pgsql/data is of
       version 9.4 but it should be 9.3

Ce qui veut dire que mon option datadir il s'en fout.
- du coup je lance

bash-4.3$ PGDATA=/var/www/bdd/data
bash-4.3$ echo $PGDATA
/var/www/bdd/data

bash-4.3$ postgres -D $PGDATA
LOG:  no se pudo enlazar al socket IPv4: La dirección ya se está usando
HINT:  ¿Hay otro postmaster corriendo en el puerto 5432? Si no, aguarde unos segundos y reintente.
WARNING:  no se pudo crear el socket de escucha para «localhost»
FATAL:  no se pudo crear ningún socket TCP/IP

Donc si je comprend tout, ça veut dire en clair :
Je suis lancé en pointant sur le cluster (?) ou groupe de basses (?) qui est sur /var/lib et je ne peux pas demarrer sur autre chose. Donc, on ne peut pas avoir plusieurs clusters et un même serveur ?

Si je veux que le serveur démarre avec mon nouveau PGDATA, il faut que je change postgres.conf dans /var/lib/pgsql/data/ et j'obtiens

 su -c 'service postgresql start'
Contraseña: 
Redirecting to /bin/systemctl start  postgresql.service
Job for postgresql.service failed because the control process exited with error code. See "systemctl status postgresql.service" and "journalctl -xe" for details.

Et là il refuse de se lancer! et "journalctl -xe" en m'aide pas beaucoup en m'envoyant voir les log du serveur. J'ai trouvé deux fichiers pg_clog et pg_log dans lesquels y a rien d'intéressant. Le fichier /var/www/bdd/data/PG_VERSION  contient 9.4 mais je ne suis pas sûr que les bases du répertoire ne soient pas en fait de la version 9.3 et dans un cas comme dans l'autre ça refuse de démarrer.

Donc avant de continuer à m'enfoncer, j'ai besoin de votre aide :
1 - Est-ce que cluster = groupe de bases de données = un répertoire de bases de données.
1.bis - dans un cluster il y a les schémas et dans les schéams les bases de données ?
2 - comment fait-on que le système crash, qu'on installe tout pour retrouver un serveur postgres qui fonctionne avec les anciennes bases ?
3 - Si je veux que mon serveur démarre avec le système, et utiliser soit des bases sur un répertoire dont le propriétaire est postgres soit des bases sur un autres répertoire dont le propriétaire est Deun, je fais comment ?

Merci de m'aider à y voir un peu plus clair

Pied de page des forums

Propulsé par FluxBB