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 25/09/2023 10:17:54

detrygeoffroy
Membre

[pg_upgrade] - Double migration vers v.12

Bonjour,

Nous migrons actuellement deux clusters PostgreSQL (un en V.10.12 et l'autre en v.11.3) pour les mutualiser sur une version 12.16.

Ma question fait référence à la possibilité de réaliser les deux migrations via pg_upgrade, en exécutant l’une et plus l’autre.

J’ai réalisé la première (10 >> 12) via pg_upgrade via la commande classique

pg_upgrade.exe --old-datadir "C:/Program Files/PostgreSQL/10/data" --new-datadir "C:/Program Files/PostgreSQL/12/data" --old-bindir "C:/Program Files/PostgreSQL/10/bin" --new-bindir "C:/Program Files/PostgreSQL/12/bin"

Lorsque je lance la deuxième (v.11 >> v.12), le message d’erreur suivant est renvoyé:

La base de données XX de La nouvelle instance n'est pas vide : relation public.spatial_ref_sys trouvée"


En effectuant des recherches, il est indiqué que pg_upgrade ne peut fonctionner que si le cluster target est vide.


Cela supposerait que la deuxième migration ne pourrait pas se faire par cette voie et qu’il faudrait passer par pg_dump ou pg_dumpall.


Quelqu’un peut-il confirmer que c’est bien le cas ?


Merci pour votre support


Geoffroy

Hors ligne

#2 25/09/2023 10:24:35

ruizsebastien
Membre

Re : [pg_upgrade] - Double migration vers v.12

Bonjour,

avant de lancer pg_upgrade, il faut faire un initdb pour créer une instance vide dans la version postgresql cible.
Donc cette instance doit être vide.
s'il y a des objets dans votre instance c'est que d'une manière ou d'une autre vous pointez vers l'instance à migrer, pas la nouvelle.


Cordialement,

Sébastien.

Hors ligne

#3 25/09/2023 10:27:11

ruizsebastien
Membre

Re : [pg_upgrade] - Double migration vers v.12

en relisant votre post, je comprend mieux.
Vous voulez fusionner les instances v10 et v11 dans une instance v12, c'est bien ça ?
Donc pour répondre à votre question : non ce n'est pas possible.
Pour la deuxième phase il faudra faire un pg_dump, pg_restore car l'instance v12 n'est plus vide à ce moment là (elle contient des données de la v10)


Cordialement,

Sébastien.

Hors ligne

#4 25/09/2023 11:19:27

detrygeoffroy
Membre

Re : [pg_upgrade] - Double migration vers v.12

Bonjour Sébastien,

Merci pour votre retour, vous avez effectivement bien saisi la question et m'avez apporter une confirmation. La deuxième migration passera donc par un pg_dump/pg_restore

Geoffroy

Hors ligne

Pied de page des forums