Documentation PostgreSQL 7.4.29 | ||||
---|---|---|---|---|
Précédent | Arrière rapide | Chapitre 14. Procédure d'installation | Avance rapide | Suivant |
Le format de stockage interne des données a changé avec cette nouvelle version de PostgreSQL. Toutefois, si vous faites une mise à jour qui n'a pas un numéro de version de la forme << 7.4.x >>, vous devrez faire une sauvegarde et une restauration des données ainsi que c'est montré ici. Les instructions considèrent que votre installation existante est dans le répertoire /usr/local/pgsql et que la zone de données est dans /usr/local/pgsql/data. Remplacez les chemins de façon approprié.
Assurez-vous que vos données ne sont pas mises à jour pendant ou après la sauvegarde. Cela n'affecterait en rien l'intégrité de la sauvegarde mais les données modifiées ne seraient pas incluses. Si nécessaire, éditez le fichier /usr/local/pgsql/data/pg_hba.conf (ou équivalent) pour verrouiller tous les accès sauf les vôtres.
Pour effectuer une sauvegarde de votre base, saisissez :
pg_dumpall > fichierdesortie
Si vous souhaitez conserver les identifiants d'objets (lorsqu'ils sont utilisés comme clé étrangère), utilisez l'option -o lors de l'exécution de pg_dumpall.
pg_dumpall ne sauvegarde pas les gros objets. Lisez la Section 22.1.4 si vous en avez besoin.
Pour effectuer une sauvegarde, vous pouvez exécuter la commande pg_dumpall incluse dans la distribution de votre version actuelle. Cependant, pour de meilleurs résultats, essayez d'utiliser la commande pg_dumpall contenue dans PostgreSQL 7.4.29 puisqu'elle corrige les erreurs des versions précédentes. Ce conseil est absurde tant que vous n'avez pas encore installé la nouvelle version. Il devient valable si vous souhaitez installer la nouvelle version en parallèle. Dans ce cas, vous pouvez faire l'installation normalement et ne transférer les données qu'après, ce qui réduira le temps d'indisponibilité.
Si vous installez la nouvelle version à la place de l'ancienne, arrêtez l'ancien serveur, au plus tard avant d'installer les nouveaux fichiers :
kill -INT `cat /usr/local/pgsql/data/postmaster.pid | sed 1q`
Les versions antérieures à la 7.0 n'ont pas le fichier postmaster.pid. Si vous utilisez une telle version, vous devez trouver le PID du serveur vous même, par exemple en saisissant ps ax | grep postmaster, et utiliser la commande kill avec ce PID.
Sur les systèmes qui lancent PostgreSQL au démarrage, il y a probablement un fichier de démarrage qui peut faire la même chose. Par exemple, sur un système Red Hat Linux, la commande
/etc/rc.d/init.d/postgresql stop
devrait fonctionner. Une autre possibilité est pg_ctl stop.
Si vous faites l'installation au même endroit que l'ancienne, il peut être une bonne idée de déplacer l'ancienne version au cas où vous auriez des problèmes et que vous ayez besoin de revenir en arrière. Utilisez une commande telle que :
mv /usr/local/pgsql /usr/local/pgsql.old
Après l'installation de PostgreSQL 7.4.29, créez un répertoire pour les données et démarrez le nouveau serveur. Rappelez-vous que vous devez exécuter ces commandes en étant connecté avec l'utilisateur dédié à la base (qui doit déjà exister si vous changez juste de version).
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data
Enfin, restaurez vos données avec
/usr/local/pgsql/bin/psql -d template1 -f outputfile
en utilisant le nouveau psql.
Ces principes sont étudiés plus en détails dans la Section 22.3, que vous êtes vivement encouragez à lire dans tous les cas.
Précédent | Sommaire | Suivant |
Obtenir les sources | Niveau supérieur | Procédure d'installation |