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).

#1 05/12/2016 18:47:36

tonio_31
Membre

Migration 9.5 vers 9.6 - pas de demarrage du service sous Archlinux

Bonjour,

Je suis un debutant sur Postgresql. J'ai installe avec succes la version 9.5 sous Archlinux pour faire tourner un serveur nginx, php, postgresql. J'en suis pleinement satisfait. Malheureusement, la mise a jour vers la 9.6 a fait planter le service postgreqsl. Le message d'erreur est le suivant :

déc. 05 17:42:26 tonio-server postgres[22308]: An old version of the database format was found.
déc. 05 17:42:26 tonio-server postgres[22308]: See https://wiki.archlinux.org/index.php/Po … PostgreSQL
déc. 05 17:42:26 tonio-server systemd[1]: postgresql.service: Control process exited, code=exited status=1
déc. 05 17:42:26 tonio-server systemd[1]: Failed to start PostgreSQL database server.
-- Subject: L'unité (unit) postgresql.service a échoué

J'ai donc suivi le tuto donne en lien dans le message d'erreur,  https://wiki.archlinux.org/index.php/Po … PostgreSQL. J'avoue que je suis perdu dans les instructions donnees. Je fais donc appel a la communaute pour m'aider dans la migration. Quelles sont les etapes a respecter ?

Merci par avance.
Antoine

Hors ligne

#2 05/12/2016 19:10:13

Marc Cousin
Membre

Re : Migration 9.5 vers 9.6 - pas de demarrage du service sous Archlinux

c'est bien cela. il faut lancer le script d'upgrade (après avoir migré votre configuration si vous aviez fait du paramétrage spécifique).

Cela va vous créer une nouvelle instance en 9.6 à la place de l'ancienne, et migrer les fichiers de données dedans. Ça devrait être très rapide

Hors ligne

#3 05/12/2016 23:05:51

tonio_31
Membre

Re : Migration 9.5 vers 9.6 - pas de demarrage du service sous Archlinux

Merci pour cette reponse rapide. Je n'ai pas le script d'upgrade propose par le wiki. Quand bien meme je l'aurais je ne peux executer su postgres etant donne que la version installee est la 9.6 et elle plante. Je dois manquer une etape, c'est pour cela que je demande de l'aide.

Hors ligne

#4 06/12/2016 08:32:47

Marc Cousin
Membre

Re : Migration 9.5 vers 9.6 - pas de demarrage du service sous Archlinux

Je viens de le retester, la procédure fonctionne parfaitement.

Soit vous créez un script upgrade_pg.sh, et copiez dedans le contenu, soit vous positionnez en ligne de commande:

export FROM_VERSION=9.5

puis vous lancez les commandes une à une (à partir de la commande pacman)

Hors ligne

#5 06/12/2016 11:52:28

tonio_31
Membre

Re : Migration 9.5 vers 9.6 - pas de demarrage du service sous Archlinux

Bon j'ai lance les commandes une a une. Je suis arrete sur la derniere ligne avec pg_upgrade car j'ai le message suivant : cannot write to log file pg_upgrade_internal.log
. Je ne sais pas ou pg_upgrade ecrit ses logs. Je suis donc bloque.

Hors ligne

#6 06/12/2016 12:11:30

tonio_31
Membre

Re : Migration 9.5 vers 9.6 - pas de demarrage du service sous Archlinux

Oups ! desole je n'avais pas vu le premier point de la section troubleshooting. Je peux executer le pg_upgrade mais il s'arrete avec le message suivant :

Performing Consistency Checks
-----------------------------
Checking cluster versions                                   
could not open version file: /var/lib/postgres/data/PG_VERSION
Failure, exiting

J'ai bien un fichier PG_VERSION aussi je ne comprends pas pourquoi il ne peut pas l'ouvrir.

Hors ligne

#7 06/12/2016 13:48:54

tonio_31
Membre

Re : Migration 9.5 vers 9.6 - pas de demarrage du service sous Archlinux

Bon j'ai resolu le probleme PG_VERSION> Maintenant j'ai une erreur plus embetante :

[tonio@tonio-server global]$ pg_upgrade -b /opt/pgsql-${FROM_VERSION}/bin/ -B /usr/bin/ -d /var/lib/postgres/data-${FROM_VERSION} -D /var/lib/postgres/data
Performing Consistency Checks
-----------------------------
Checking cluster versions                                   ok
pg_resetxlog: pg_control exists but is broken or unknown version; ignoring it

*failure*
Consult the last few lines of "pg_upgrade_server.log" for
the probable cause of the failure.

connection to database failed: could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/var/lib/postgres/data-9.5/global/.s.PGSQL.50432"?


could not connect to old postmaster started with the command:
"/opt/pgsql-9.5/bin/pg_ctl" -w -l "pg_upgrade_server.log" -D "/var/lib/postgres/data-9.5" -o "-p 50432 -b  -c listen_addresses='' -c unix_socket_permissions=0700 -c unix_socket_directories='/var/lib/postgres/data-9.5/global'" start
Failure, exiting

La log ne me donne rien. Je ne comprend pas pourquoi il n'arrive pas a lancer le postmaster.

Hors ligne

#8 06/12/2016 15:11:20

Marc Cousin
Membre

Re : Migration 9.5 vers 9.6 - pas de demarrage du service sous Archlinux

Très étrange, ça laisse entendre que pg_upgrade n'arrive pas à reconnaître le fichier de contrôle de l'ancienne instance.

Qu'y a t'il dans le fichier pg_upgrade_server.log ?

Hors ligne

#9 06/12/2016 18:41:48

tonio_31
Membre

Re : Migration 9.5 vers 9.6 - pas de demarrage du service sous Archlinux

C'est cela le plus etrange, il n'y a rien a part la date et heure de l'execution du programme. Je ne peux donc pas pointer l'erreur.

Hors ligne

#10 06/12/2016 19:10:02

Marc Cousin
Membre

Re : Migration 9.5 vers 9.6 - pas de demarrage du service sous Archlinux

Essayez de lancer la commande pg_ctl du bas de votre message et regardez ce qu'elle répond.

Hors ligne

#11 06/12/2016 22:11:10

tonio_31
Membre

Re : Migration 9.5 vers 9.6 - pas de demarrage du service sous Archlinux

Quand j'execute la commande, voila ce qui est repondu :
[tonio@tonio-server tmp]$ "/opt/pgsql-9.5/bin/pg_ctl" -w -l "pg_upgrade_server.log" -D "/var/lib/postgres/data-9.5" -o "-p 50432 -b  -c listen_addresses='' -c unix_socket_permissions=0700 -c unix_socket_directories='/var/lib/postgres/data-9.5/global'" start

waiting for server to start.... stopped waiting
pg_ctl: could not start server
Examine the log output.

Quand j'examine la log :
LOG:  could not open configuration file "/var/lib/postgres/data-9.5/postgresql.conf": Permission non accordée
FATAL:  configuration file "/var/lib/postgres/data-9.5/postgresql.conf" contains errors

J'ai donc fait un chmod 700 sur le fichier mais j'ai toujours la meme erreur.

Hors ligne

#12 06/12/2016 22:28:59

gleu
Administrateur

Re : Migration 9.5 vers 9.6 - pas de demarrage du service sous Archlinux

Dans ce cas, c'est que le propriétaire du fichier n'est pas le bon.

Hors ligne

#13 06/12/2016 22:40:11

tonio_31
Membre

Re : Migration 9.5 vers 9.6 - pas de demarrage du service sous Archlinux

J'aurais du y penser. Bref j'ai change le proprietaire du fichier. Voila la log :

LOG:  skipping missing configuration file "/var/lib/postgres/data-9.5/postgresql.auto.conf"
FATAL:  data directory "/var/lib/postgres/data-9.5" has group or world access
DETAIL:  Permissions should be u=rwx (0700).

Je n'ai pas modifie les permissions. Et maintenant on parle d'un fichier postgresql.auto.conf...

Hors ligne

#14 07/12/2016 10:07:37

Marc Cousin
Membre

Re : Migration 9.5 vers 9.6 - pas de demarrage du service sous Archlinux

C'est, comme cela semble logique, la ligne FATAL qui est importante. Et qui vous dit que les droits ne sont pas bons. Il faut que les droits de /var/lib/postgres/data-9.5 soient 0700.

De façon plus générale, je pense que vous devriez reconsidérer votre choix d'archlinux: la distribution s'adresse à des utilisateurs expérimentés. Mon but n'est pas d'être vexant, simplement, vous allez avoir de nombreuses galères similaires avec la distribution si vous n'êtes pas déjà très à l'aise avec les systèmes Unix: la plupart des mises à jour majeures de logiciels se passent de cette façon, voire pire (la migration vers python3 ou vers systemd ont été complexes par exemple).

Hors ligne

#15 07/12/2016 11:41:27

tonio_31
Membre

Re : Migration 9.5 vers 9.6 - pas de demarrage du service sous Archlinux

Je comprends. Maintenant 2 points :
- j'utilise Archlinux car c'est la seule distribution qui fonctionne sur mon serveur (Ubuntu et Debian sont trop lourdes, elles ont plante a l'installation)
- j'ai une serveur nginx, php qui est operationnel

Je devrais peut etre changer de SGBD Mysql (qui etait mon premier choix) En tout cas je vous remercie pour votre aide patiente et precieuse. Desole de vous avoir deranger pour des choses aussi triviales.

Hors ligne

Pied de page des forums