Je veux mettre à jour mon PostgreSQL de la version 8.4 à 9.4 .
La documentation n'est pas très claire pour moi.
- Vais-je perdre mes anciennes bases de données si je fais la mise à niveau?
- Comment puis-je sauvegarder mes anciennes bases de données si je dois les perdre après la mise à niveau?
- Comment puis-je mettre à jour mon psql?
Mon PostgreSQL s'exécute sur un serveur CentOS 6.6 .
postgresql
upgrade
postgresql-9.4
postgresql-8.4
centos
Alex Jolig
la source
la source
postgresql-client-9.4
paquet qui contientpsql
.pg_upgrade
, il conservera vos bases de données - mais la sauvegarde est également indispensable dans ce cas.How can I backup my old databases if
" - il n'y a pas de si . Vos bases de données seront presque certainement parfaitement bien après la mise à niveau, mais vous devriez toujours avoir de nouvelles sauvegardes (de préférence testées) lorsque vous effectuez une opération comme celle-ci en cas de problèmes inattendus (supposez le pire: une coupure de courant ou une autre défaillance matérielle en partie pourrait laisser vous dans une position difficile à faire reculer ou avancer). Selon votre plan de sauvegarde habituel, vous n'aurez peut-être pas besoin d'effectuer des sauvegardes supplémentaires.Réponses:
C'est ainsi que j'ai résolu mon problème.
Mettre à niveau Postgresql 8.4 à 9.4 dans Centos
Sauvegarde des données
Restaurer les données
Accès au réseau de configuration
vi /var/lib/pgsql/9.4/data/postgresql.conf
/var/lib/pgsql/9.4/data/pg_hba.conf
Supprimer PG8.4
la source
pg_upgrade
si vous effectuez une mise à niveau à partir de> = 8.4 et si vous utilisez le même serveur.pg_upgrade
est utile dans ce cas et vraiment plus rapide: sur Ubuntu 18, il m'a fallu moins de temps pour créer unpg_upgrade
quepg_dump
pour restaurer une base de données de 1 Go. L'inconvénient est que vous devez installer et exécuter 2 versions postgres sur la même machine (en écoutant différents ports, bien sûr).service postgresql-9.4
initdb ne fonctionnait pas pour moi, j'ai dû utilisersudo /usr/pgsql-9.4/bin/postgresql94-setup initdb
(trouvé ici ).Merci pour les excellentes instructions, j'ai pu mettre à jour de 9.2 à 9.4 sans aucun problème, même si j'ai dû reconfigurer mon
pg_hba.conf
fichier, c'était trivial.la source
Mieux que de lier un seul binaire psql postgresql94 à / usr / (local /) bin est d'utiliser le système alternatif:
Ce qui crée des liens de binaires, mans, confs, ... de postgresql94 vers des répertoires par défaut pour CentOS.
la source