Mis à jour 8 mars 2007
Utilisant une distribution Fedora Core 2, les paquets ne sont pas forcément maintenus pour cette version. Voici la procédure à suivre pour mettre à jour PostgreSQL en version 8.x à partir des sources.
Pour une description détaillée des commandes d’administration de PostgreSQL qui restent valables pour cette version 8.x, se référer à l’article précédent.
Se placer dans le répertoire de votre choix, par exemple et
récupérer le paquet des sources depuis le site de [PostgreSQL>http://www.postgresql.org/ftp/binary/v8.2.3/linux/srpms/].
$ cd /usr/local/src/SRPMS
$ ncftp ftp.fr.postgresql.org
...
Si vous utilisiez une version antérieure (7.x -> 8.0, 8.0 -> 8.1 ou 8.2), faire une sauvegarde du serveur
# pg_dumpall -h localhost -U <user> -c > backup.sql
Stopper le service
# service postgresql stop
Renommer le répertoire
/var/lib/pgsql/data
sous un nouveau nom
/var/lib/pgsql/data-v_7.4
par exemple.
Voir également la traduction officielle.
Commencer l’installation :
# rpmbuild --rebuild postgresql-8.2.3-1PGDG.src.rpm
Suivant votre configuration, il pourra manquer certaines dépendances. Dans ce cas les installer en fonction des avertissements délivrés par rpmbuild
:
# yum install libxslt-devel.i386 0:1.1.12-2
Une fois les dépendances installées, recommencer la génération des paquets :
# rpmbuild --rebuild postgresql-8.2.3-1PGDG.src.rpm
A la fin de la compilation, les paquets se trouvent sous
$ cd /usr/src/redhat/RPMS/i386
$ ls -1
postgresql-8.2.3-1PGDG.i386.rpm
postgresql-contrib-8.2.3-1PGDG.i386.rpm
postgresql-debuginfo-8.2.3-1PGDG.i386.rpm
postgresql-devel-8.2.3-1PGDG.i386.rpm
postgresql-docs-8.2.3-1PGDG.i386.rpm
postgresql-jdbc-8.2.3-1PGDG.i386.rpm
postgresql-libs-8.2.3-1PGDG.i386.rpm
postgresql-pl-8.2.3-1PGDG.i386.rpm
postgresql-python-8.2.3-1PGDG.i386.rpm
postgresql-server-8.2.3-1PGDG.i386.rpm
postgresql-test-8.2.3-1PGDG.i386.rpm
Mettre à jour les paquets :
# rpm -Uvh postgresql-*
Démarrer le service pour créer l’arborescence de la base sous data :
# /sbin/service postgresql start
Pour changer éventuellement le répertoire de la base de données qui par défaut est :
/var/lib/pgsql/data
vers un autre répertoire ou partition.
Pour cela, créer le fichier :
/etc/sysconfig/pgsql/postgresql
qui contiendra
PGDATA=/usr/local/pgsql/data
Le script de démarrage du serveur
/etc/init.d/posgresql
utilisera alors cette variable PGDATA.
Modifier les fichiers de configuration pour adapter les droits en fonction de vos besoins :
/usr/local/pgsql/data/pg_hba.conf
/usr/local/pgsql/data/postgresql.conf
Tester la connection à la base :
# psql -h localhost -U postgres -d template1
Bienvenue dans psql 8.2.3, l'interface interactive de PostgreSQL.
Tapez: \copyright pour les termes de distribution
\h pour l'aide-mémoire sur les commandes SQL
\? pour l'aide-mémoire sur les commandes psql
\g ou terminez avec un point-virgule pour exécuter une requête
\q pour quitter
Restaurer la base :
# psql -h localhost -U postgres -f
Se référer à la documentation officielle de PostgreSQL et plus particulièrement au chapitre concernant la gestion des droits et roles depuis la version 8.1