Outils personnels

Mise à jour PostgreSQL 8.1 en 8.4 - 9.0 : Différence entre versions

De wikiGite

(Installation PostgresSQL 9)
(Installation PostgresSQL 9)
Ligne 34 : Ligne 34 :
  
 
== Installation PostgresSQL 9 ==
 
== Installation PostgresSQL 9 ==
 +
Si PostgreSQL8 était déjà installé il faut l'avoir désinstallé avant :
 +
yum remove postgresql84 postgresql84-server
 +
et sauvegarder les bases et la configuration
 +
mv /var/lib/pgsql/data /var/lib/pgsql/data84
 +
 
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
Puis
+
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

Version du 1 avril 2011 à 10:05

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

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

Installation PostgresSQL 9

Si PostgreSQL8 était déjà installé il faut l'avoir désinstallé avant :

yum remove postgresql84 postgresql84-server

et sauvegarder les bases et la configuration

mv /var/lib/pgsql/data /var/lib/pgsql/data84

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