Procédure de migration PostgreSQL 8.0 vers 8.2
I - Sauvegarder les bases de la version 8.0.X
- Sauvegarder les bases de données existantes
Pour cela, exécuter le script suivant pour chaque base de données :
/wct95/bin/serveurBD/sauvegardeDB.sh <base> <fichier_dump>
- Sauvegarder le répertoire /var/lib/pgsql/data
mv /var/lib/pgsql/data <rep_sauvegarde>
- Désinstaller les rpms résultant de la requête précédente
rpm -qa | grep postgresql rpm -e <rpm_1> <rpm_2> ... <rpm_x>
II - Installer Postgresql 8.2.11
- Télécharger des rpms de la version 8.2.11 à l'adresse suivante : http://www.postgresql.org/ftp/binary/v8.2.11/linux/rpms/redhat/rhel-4-i386/
- Installer les rpms
- Simuler l'installation jusqu'à ce qu'il n'y ai plus d'erreur
rpm -Uvh <rpm1> <rpm2> ... <rpm_x> --test
Si des librairies manquent (généralement libq.so.3), installer les avec yum : yum install <librairies_manquantes>
- Installer les rpms
rpm -Uvh <rpm1> <rpm2> ... <rpm_x>
- Initialiser la base de données (vérifier que votre système est bien en encodage Fr-fr.UTF-8 avec la commande locale sinon changer la : /etc/sysconfig/i18n)
service postgresql initdb -E "UNICODE"
III - Configurer Postgresql
- Configurer les fichiers de configuration Postgresql
- Remplacer le fichier des droits d'accès de postgresql
cp /var/lib/pgsql/data/pg_hba.conf /var/lib/pgsql/data/pg_hba.conf.initial cp <rep_sauvegarde>/pg_hba.conf /var/lib/pgsql/data/pg_hba.conf
- Editer le fichier /var/lib/pgsql/data/postgresql.conf
- remplacer listen_adresses='localhost' par listen_adresses='*'
- appliquer la configuration de la précédente plate-forme
- Démarrer le service postgresql
exit service postgresql start
- Créer les droits/utilisateurs Postgresql
- Créer un utilisateur système en tant que root
adduser webct95
- Créer un utilisateur postgresql
su - postgres createuser webct95 (répondez oui) psql template1 alter role webct95 with password 'webct95'; \q createlang plpgsql template1 exit
IV - Restaurer les base de données dans la version 8.2.11
- Restaurer les bases
Pour cela, exécuter le script suivant pour chaque base de données :
/wct95/bin/serveurBD/restaureDB.sh <base> <fichier_dump>
