Mise à jour PostgreSQL 8.1 en 8.4 - 9.0 : Différence entre versions
De wikiGite
(→Installation PostgresSQL 9) |
m (Pierrick a déplacé la page Mise à jour PostgreSQL 8.1 en 8.4 / 9.0 vers Mise à jour PostgreSQL 8.1 en 8.4 - 9.0) |
||
(4 révisions intermédiaires par un autre utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
+ | = Sauvegarde des bases existantes = | ||
Sauvegarder les bases, si nécessaire (sinon, supprimer purement et simplement le répertoire /var/lib/pgsql/data, il sera recréé à l'init) | Sauvegarder les bases, si nécessaire (sinon, supprimer purement et simplement le répertoire /var/lib/pgsql/data, il sera recréé à l'init) | ||
Ligne 12 : | Ligne 13 : | ||
mv /var/lib/pgsql/data /pgbak | mv /var/lib/pgsql/data /pgbak | ||
+ | == PostgreSQL 8.4 == | ||
Mettre à jour : | Mettre à jour : | ||
yum remove postgresql | yum remove postgresql | ||
Ligne 33 : | Ligne 35 : | ||
exit | exit | ||
− | == | + | == PostgresSQL 9 == |
+ | Si PostgreSQL8 était déjà installé il faut l'avoir désinstallé avant (avec sauvegardes des bases) : | ||
+ | yum remove postgresql | ||
+ | ou | ||
+ | yum remove postgresql84 | ||
+ | |||
Installer le repository PostgreSQL conrrespondant à la version voulue (http://www.pgrpms.org/howtoyum.php) : | Installer le repository PostgreSQL conrrespondant à la version voulue (http://www.pgrpms.org/howtoyum.php) : | ||
wget http://www.pgrpms.org/reporpms/9.0/pgdg-centos-9.0-2.noarch.rpm | wget http://www.pgrpms.org/reporpms/9.0/pgdg-centos-9.0-2.noarch.rpm | ||
− | + | Désactiver le repo par défaut (enable=0 dans /etc/yum.repos.d/pgdg-90-centos.repo), puis : | |
yum --enablerepo=pgdg90 install postgresql90 postgresql90-server | yum --enablerepo=pgdg90 install postgresql90 postgresql90-server | ||
+ | |||
+ | Initialiser la base de données | ||
+ | /etc/init.d/postgresql-9.0 initdb | ||
+ | Les bases sont désormais dans /var/lib/pgsql/'''9.0'''/data | ||
+ | /etc/init.d/postgresql-9.0 start | ||
+ | Et restorer les bases : | ||
+ | su - postgres | ||
+ | psql -f /pgbak/globals.sql | ||
+ | pg_restore --create -d postgres /pgbak/dbX |
Version actuelle datée du 12 février 2013 à 09:46
Sauvegarde des bases existantes
Sauvegarder les bases, si nécessaire (sinon, supprimer purement et simplement le répertoire /var/lib/pgsql/data, il sera recréé à l'init)
Les "globales" d'abord :
mkdir /pgbak chown postgres:postgres /pgbak/ su - postgres pg_dumpall --globals-only > /pgbak/globals.sql pg_dump --create --oids --format=c --verbose --file=/pgbak/dbX dbX exit
Et sauvegarder les bases à froid (éteintes) :
/etc/init.d/postgresql stop mv /var/lib/pgsql/data /pgbak
PostgreSQL 8.4
Mettre à jour :
yum remove postgresql yum install postgresql84 postgresql84-server
Réinitialiser les bases système :
/etc/init.d/postgresql initdb
Restorer les fichiers de configuration à partir de /pgback/*.conf, faire les modification nécessaires (dans le pg_hba.conf notamment, des oprions ont changé : sameuser n'existe plus, remplacer password par md5).
Eventuellement :
chkconfig --level 35 postgresql on
Lancer postgresql
/etc/init.d/postgresql start
Restorer les rôles, et les bases de données :
su - postgres psql -f /pgbak/globals.sql pg_restore --create -d postgres /pgbak/dbX exit
PostgresSQL 9
Si PostgreSQL8 était déjà installé il faut l'avoir désinstallé avant (avec sauvegardes des bases) :
yum remove postgresql
ou
yum remove postgresql84
Installer le repository PostgreSQL conrrespondant à la version voulue (http://www.pgrpms.org/howtoyum.php) :
wget http://www.pgrpms.org/reporpms/9.0/pgdg-centos-9.0-2.noarch.rpm
Désactiver le repo par défaut (enable=0 dans /etc/yum.repos.d/pgdg-90-centos.repo), puis :
yum --enablerepo=pgdg90 install postgresql90 postgresql90-server
Initialiser la base de données
/etc/init.d/postgresql-9.0 initdb
Les bases sont désormais dans /var/lib/pgsql/9.0/data
/etc/init.d/postgresql-9.0 start
Et restorer les bases :
su - postgres psql -f /pgbak/globals.sql pg_restore --create -d postgres /pgbak/dbX