Accueil - Informatique - Bases de données

Installation et administration de PostgreSQL V8.x sous Linux

Publié le lundi 14 novembre 2005.


Mis à jour 8 mars 2007

Introduction

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.

Récupération des sources

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
...

Sauvegarde

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.

Installation

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