Installer PostgreSQL

Comme le dit le slogan, PostgreSQL est “The world's most advanced open source database”.
On va donc un peu décrypter l'installation et la gestion de ce SGBD1) de professionnel.
Cette page ne pourra, bien sûr, jamais remplacer la doc officielle qui est bien complète.

Cette documentation est en cours de rédaction

Avant propos

Debian a cette particularité de permettre aux administrateurs d'installer plusieurs versions de PgSQL côte-à-côte et de les administrer via un ensemble de scripts perl maison. Cela peut-être très utile dans le cadre d'une migration ou pour les développeurs testant leurs codes sur différentes versions.

Pour ce faire, au sein d'un même serveur, chaque cluster porte un nom unique pour une version donnée de PgSQL. Par exemple, si vous installez consécutivement les versions 8.1 et 8.3, votre serveur aura alors un premier cluster en 8.1 nommé main1 accessible via le port 5432 et un second en 8.2, lui aussi nommé main2, via 5433.

Nous verrons dans le chapitre Gestion au quotidien comment fonctionnent ces scripts spécifiques de Debian et comment les utiliser.

Installation

Au moment de la rédaction de cette documentation, Debian propose les versions 7.4 en stable et 8.3 en testing/unstable.

3 types de paquets sont intéressant à connaître. Ici nous utiliseront X.Y pour désigner la version de PgSQL concernée par le paquet :

  • postgresql-X.Y : le serveur en lui même.
  • postgresql-client-X.Y : les différents outils clients pour la version X.Y tel que psql, pg_dump, createdb, dropdb, createuser, …
  • postgresql-contrib-X.Y : les projets distribués en tant que contrib avec les sources de PostgreSQL.

Ainsi pour installer un serveur 8.3 avec ses clients, nous exécuterons :

# aptitude install postgresql-8.3 postgresql-client-8.3

Configuration

Emplacement des fichiers

Les fichiers de configurations de chaque serveurs se situent dans ''/etc/postgresql/X.Y/<cluster> où X.Y désigne la version de PostgreSQL et <cluster> le nom du cluster concerné par les fichiers de configurations.

Chaque cluster aura donc ses propres fichiers de configuration :

  • environment : contient les définitions des variables d'environnements pour le processus postmaster du cluster
  • pg_hba.conf : contient les règles d'authentifications pour le cluster
  • pg_ident.conf : mappage entre les utilisateurs systèmes et les utilisateurs interne du cluster pour le mode d'authentification ident
  • postgresql.conf : fichier de configuration du cluster
  • start.conf : spécifique à Debian, contrôle le démarrage du cluster via les script d'init

Serveur

Authentification des clients

Gestion au quotidien

Maintenance

Utilisateurs et Roles

  • Changer le mot de passe d'un rôle:
postgres=# ALTER ROLE name WITH PASSWORD 'newpass';

Backup et Restauration

1) Système de Gestion de Base de Données
 
bases-de-donnees/postgresql.txt · Dernière modification: 11/12/2010 17:26 par orgrim