Comment migrer mes données postgres de 8.4 à 9.1?

27

J'ai mis à niveau ma machine de développement Ubuntu du 11.04 au 11.10. Dans le processus, mes postgres ont également été mis à niveau de 8.4 à 9.1.

Mais je semble avoir perdu toutes mes données. Si je regarde, je peux voir que mes données pour 8.4 sont dans le dossier /var/lib/postgres/8.4/main et ma nouvelle base de données est dans /var/lib/postgres/9.1/main .

Quelle est la meilleure façon de migrer mes données vers la nouvelle version? Puis-je copier les fichiers?

    
posée nathanvda 14.10.2011 - 16:27
la source

3 réponses

27
su postgres
pg_dropcluster --stop 9.1 main    
pg_upgradecluster 8.4 main

Au début, cela n’a pas fonctionné pour deux raisons. Tout d'abord, postgresql-8.4 avait été désinstallé à un moment donné, alors j'ai dû le réinstaller:

sudo apt-get install postgresql-8.4

Ensuite, j'ai dû aller dans le 8.4 postgresql.conf et changer max_connections à 10. Puis ça a fonctionné. Vous devriez être capable de trouver le fichier de configuration à /etc/postgresql/8.4/main/postgresql.conf

    
réponse donnée Marconius 15.10.2011 - 07:25
la source
4

Après la mise à niveau vers 11.10, PostgreSQL 9.1 a été installé, mais la version en cours d'exécution était 8.4.

J'ai essayé:

su postgres
pg_dropcluster --stop 9.1 main    
pg_upgradecluster 8.4 main

Il a signalé l'erreur:

Stopping old cluster...
pg_ctl: servidor não desligou
Error: Could not stop old cluster

Alors, dans une autre fenêtre:

$ sudo service postgresql-8.4 stop
 * Stopping PostgreSQL 8.4 database server                               [ OK ] 
[email protected]:~$ sudo service postgresql-8.4 start
 * Starting PostgreSQL 8.4 database server                               [ OK ] 

Et encore une fois:

pg_upgradecluster 8.4 main

Des erreurs liées à pgRouting ont été signalées. Cela a pris du temps (toute la nuit!), Mais après, la base de données a été mise à niveau vers 9.1. PostGIS a également été mis à niveau vers la version 1.5.3.

    
réponse donnée estibordo 16.10.2011 - 09:28
la source
1

quand il n'y a pas assez de temps pour un vidage et une restauration, utilisez pg_upgrade: lien

    
réponse donnée maletin 16.04.2012 - 10:07
la source

Lire d'autres questions sur les étiquettes