Vous n'êtes pas identifié(e).
Pages : 1
Bonjour a tous,
J'ai quelques questions a vous posez en ce qui conerne une migration entre deux versions de postgres ( De 7.4 a 8.3 ).
Je suis sous Debian Lenny.
Pour le moment je n'ai fait que tous les dumps des bases actuellement sur la 7.4.
Je n'ai pas encore lancé le pg_dumpall mais ca ne va pas tarder ( Pour plus de securité ).
C'est la première fois que je fais une migration comme celle la, donc j'ai plusieurs questions qui pourront vous paraitre certainement facile
1./ D'apres la doc de postgres, je peux faire tourner les deux versions en meme temps ( sur des ports differents ) et envoyé directement le dumpall d'une a l'autre.
Cepandant je n'ai pas bien compris si cela pouvais marché d'un version majeur a l'autre ? Soit de la 7.4 a la 8.3 .
Si cela n'est pas possible il faut que je passe par la mon pg_dumpall et que je le restaure dans la nouvelles versions, mais en ce qui concerne le pg_hba, comment cela se passe ?
Je reconfigure le nouveau de la version 8.3 comme celui de la 7.4 ? Je copie colle ?
2./ Pour faire tourner les deux versions, ca se passe comment l'installation de la seconde ?
Je fais un simple apt-get install postgresql-8.3 ? Ou je dois suivre scrupuleusement toute la procedure avec le .configure etc ?
Le scenario ideale serait : -Faire tourner les deux versions en meme temps
-Copier toutes données de la 7.4 dans la 8.3 (pg_dumpall copie les utilisateurs et leurs droits etc ?)
-Faire des verifications des compatibilités de mes applications sur la nouvelle version ( les utilisateurs continuent de voir ce que contient la 7.4 )
-Si tout marche bien, je stop la 7.4, je moove le dossier en .old et je remplace par la 8.3
Ce scenario serait realisable ?
Si oui y a t-il d'autres astuces a savoir et a faire pour que tout se passe pour le mieux ?
Merci a vous,
Bien Cordialement,
Yaki.
Hors ligne
Cepandant je n'ai pas bien compris si cela pouvais marché d'un version majeur a l'autre ?
Oui, mais il faut utiliser le pg_dumpall de la version la plus récente (ici la 8.3).
Je reconfigure le nouveau de la version 8.3 comme celui de la 7.4 ?
Oui.
Je copie colle ?
Non. Ça pourrait fonctionner pour le pg_hba.conf, ça ne fonctionnera pas pour le postgresql.conf.
Pour faire tourner les deux versions, ca se passe comment l'installation de la seconde ?
Avec Debian, cela ira tout seul. Il sait installer les deux versions l'un à côté de l'autre, pour des versions récentes en tout cas. Où se trouve le répertoire des données de la version 7.4 ?
Ce scenario serait realisable ?
C'est l'idée, sauf qu'il n'est pas besoin de renommer des dossiers.
Guillaume.
Hors ligne
Merci pour tes reponses !
Ok pour la reconfiguration.
Le dossier de données de la 7.4 se trouvent dans /ect/postgresql/7.4/main/pgdata
Merci,
Yaki
Hors ligne
Donc à priori, ça ne devrait poser aucun problème.
Guillaume.
Hors ligne
Ok Merci beaucoup !
Hors ligne
Par contre une note au passage : /etc n'est pas le bon endroit pour mettre des données. La migration pourrait être l'occasion de remettre ça d'équerre (dans /var par exemple)
Je vous recommande la lecture de ceci :
(Je sais on est sur un forum postgres, mais c'est utile de bien comprendre la hierarchie sous Unix)
Dernière modification par Marc Cousin (15/10/2009 11:31:00)
Marc.
Hors ligne
Ok je regarde ca, en effet merci bien ( Si j'ai bien compris, je met le dossier de donnée dans /var/lib/postgresql/8.3/main ) ?
Aussi, juste, pg_dumpall recupere les utilisateurs aussi ?
Et comment faire en sorte que le pg_dumpall que l'on utilise est bien celui de la 8.3 ?
Merci.
Dernière modification par Yaki (15/10/2009 11:35:32)
Hors ligne
pg_dumpall récupère aussi les utilisateurs. Attention, si il y a des tablespaces, il voudra aussi les recréer.
Pour le pg_dumpall, il faut savoir à quel paquet appartient le binaire qu'on lance.
Si c'est du packaging debian standard, on trouve les versions spécifiques dans /usr/lib/postgresql/num_version/bin
Marc.
Hors ligne
Marc, il y a de fortes chances que /ect/postgresql/7.4/main/pgdata soit un lien vers /var/lib/postgresql/7.4/main/data ou un truc du genre.
Si j'ai bien compris, je met le dossier de donnée dans /var/lib/postgresql/8.3/main
Ce répertoire va contenir les répertoires et fichiers de données de PostgreSQL 8.3.
pg_dumpall recupere les utilisateurs aussi ?
Oui, c'est son principal intérêt.
Et comment faire en sorte que le pg_dumpall que l'on utilise est bien celui de la 8.3 ?
Le plus simple est d'indiquer le PATH complet : /usr/lib/postgresql/8.3/bin/pg_dumpall (de tête, donc le chemin peut être un peu différent).
Guillaume.
Hors ligne
Je viens aux nouvelles avec un ou deux nouvelles questions
Les deux versions de postgres tournent bien en memem temps l'install etc s'est bien passé.
L'une sur le port 5432 et l'autre 5433.
je suis maintenant bloquer au niveau de la restauration des données dans la nouvelle version sur le port 5433.
Soit : le role "root" n'existe pas soit ;
authentification Ident echou pour l'utilisateur 'postgres'
Lorsque je fais
# su postgres
$ psql -p 5433 template1
Ca me renvoi sur la version 7.4
Ou est le soucis ? ^^
Merci
Hors ligne
Qu'est ce qui vous fait dire que vous êtes en version 7.4 ?
Que dit SELECT * FROM version();
Marc.
Hors ligne
Oui ok ok merci j'etais bien en 8.1 pas de soucis ( contrairement au depart j'ai migrer en 8.1 et non en 8.3 pour le moment, le apt de debian etch ( et non debian lenny comme initialement dit ) ne prend que la 8.1 au max ( je passe deja a cette version avant une compilation pour la 8.3 voir 8.4 )
Cependant j'ai deux messages d'erreur que je ne connais pas vraiment sur mes applications :
Connection refused Is the server running on host "neptune" and accepting TCP/IP connections on port 5432
Merci. ( J'ai deja reregler le pg_hba cmme l'ancien mais j'ai peut etr eoublier des points precis )
Hors ligne
Il faut passer listen_addresses à * dans postgresql.conf (et le décommenter évidemment )
Marc.
Hors ligne
Nickel merci a tous tout marche bien
Hors ligne
Pages : 1