Outils personnels

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

De wikiGite

(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 :
+
Si PostgreSQL8 était déjà installé il faut l'avoir désinstallé avant (avec sauvegardes des bases) :
 +
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
 
  yum remove postgresql84 postgresql84-server
 
  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) :
Ligne 47 : Ligne 51 :
 
  /etc/init.d/postgresql-9.0 initdb
 
  /etc/init.d/postgresql-9.0 initdb
 
Les bases sont désormais dans /var/lib/pgsql/'''9.0'''/data
 
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 du 1 avril 2011 à 10:30

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 (avec sauvegardes des bases) :

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
yum remove postgresql84 postgresql84-server

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