Installer et débuter avec PostgreSQL

Dominique Colombani

Cet article est un extrait du livre « Installer et débuter avec PostgreSQL » de Dominique Colombani. Il présente les installations de PostgreSQL sur différentes plateformes avec plusieurs méthodes.
Commentez ♪

- Titre : Installer et débuter avec PostgreSQL

- Auteur : Dominique Colombani

- Parution : 27 mai 2011

- Licence : Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.

Sommaire

- A. Principes d'installation

- B. Installer PostgreSQL avec One click installer sous Windows, Mac OS ou Linux

- C. Installer un binaire sous Linux

- D. Configurer le serveur après l'installation

- E. Installer un binaire sous Mac OS

A - Principes d'installation

Toutes les installations comportent deux étapes distinctes : placer les fichiers binaires du serveur et des outils client sur le système d'une part et configurer le serveur d'autre part.

Quel que soit le système sur lequel vous voulez installer PostgreSQL, je vous invite à lire toute cette première partie pour vous familiariser avec ces deux étapes. Vous verrez que suivant le système et la méthode employée, l'installation pourra être très simple à réaliser – c'est la majorité des cas – ou demander un peu plus d'actions de votre part.

B - Installer PostgreSQL avec One click installer sous Windows, Mac OS ou Linux

La première méthode que nous développerons consiste à utiliser l'installateur intégré mis en avant par PostgreSQL, fourni par la société EntrepriseDB. C'est la méthode recommandée pour une première prise de contact avec PostgreSQL, car elle se charge d'effectuer les opérations de configuration du serveur après l'installation proprement dite. Elle se charge également d'installer tous les composants et outils utiles pour administrer et utiliser PostgreSQL.

L'un des intérêts majeurs de cette solution, en sus de la facilité d'installation, est de disposer rapidement d'une version à jour sans avoir à attendre la disponibilité des paquets pour votre distribution. Cet installeur est accessible pour les trois systèmes depuis la page http://www.enterprisedb.com/products/pgdownload.do.

Une fois le téléchargement effectué, l'installation est identique pour les trois systèmes en lançant l'exécution du fichier téléchargé.

Le premier écran rappelle la société éditrice de l'installeur.

Figure 1 - Écran d'introduction de l'installeur

La première étape de l'installation peut être une demande d'élévation de privilège, si vous êtes sur un système où un compte d'administrateur n'a pas forcément tous les droits, comme de plus en plus de distributions Linux ou Windows Vista et 7.

Dans tous les cas, il faut indiquer le répertoire d'installation des programmes :

Figure 2 - Choix de l'emplacement des programmes

Puis l'emplacement du répertoire des données :

Figure 3 - Choix de l'emplacement des données

L'installation crée un compte utilisateur postgres. Ce compte est le propriétaire des fichiers et c'est le compte de service avec lequel le serveur est lancé. Il faut fournir un mot de passe pour ce compte.

Figure 4 - Définition du mot de passe du compte postgres

Les écrans suivants permettent de définir les valeurs du port d'écoute (par défaut 5432) et la langue utilisée pour l'encodage des bases. Les valeurs par défaut proposées sont normalement adéquates et vous pouvez les accepter.

Figure 5- Définition du numéro du port

Figure 6 - Définition de la langue

Toutes les données nécessaires sont définies, on peut passer à l'installation proprement dite.

Figure 7 - Validation des paramètres de l'installation

Tout logiquement, l'installation place les fichiers nécessaires sur la machine.

Figure 8 - Déroulement de l'installation

Mais elle configure également le serveur, c'est-à-dire que l'étape de post installation que nous aurons à effectuer après l'installation des paquets Linux est ici intégrée.

Figure 9 - Configuration du serveur lors de l'installation

À la fin de l'installation, nous devons répondre à une question sur le lancement d'une application supplémentaire.

Pour l'instant, décochez la case Launch Stack Builder at exit ? , puis cliquez sur Finish.

Figure 10 - Fin de l'installation

Nous disposons maintenant d'un menu qui présente les principaux outils à notre disposition.

Figure 11- Menus des outils PostgreSQL

Pour vérifier que l'installation s'est bien passée et que nous pouvons travailler avec PostgreSQL, nous pouvons lancer pgAdmin III, l'outil de gestion graphique standard fourni avec PostgreSQL.

Lors du lancement de cet outil, il faut fournir le mot de passe du compte postgres que vous avez défini lors de l'installation.

Figure 12 - Mot de passe de la connexion au serveur

L'interface de pgAdmin s'ouvre alors et je vous invite à la parcourir pour commencer à vous familiariser avec les différentes vues et objets qu'elle permet de manipuler.

Figure 13 - Interface de pgAdmin III

C - Installer un binaire sous Linux

L'utilisateur Linux dispose de trois méthodes différentes pour installer PostgreSQL sur son système.

Nous avons vu dans le paragraphe Installer PostgreSQL avec One click installer sous Windows, Mac OS ou Linux une première méthode.

La seconde méthode consiste à télécharger les sources et à les compiler, ce qui sera traité dans Compiler PostgreSQL soi-même. C'est une méthode assez abrupte, à n'employer que si vous avez une bonne raison de le faire, par exemple parce qu'il n'existe pas d'installation binaire pour votre configuration.

La troisième méthode consiste à utiliser le gestionnaire de paquets de votre distribution. Le site de PostgreSQL fournit, à la page http://www.postgresql.org/download/linux, les adresses des dépôts de paquets pour Red Hat, Debian, Suse ou encore Gentoo et Ubuntu, maintenus par les éditeurs ou par la communauté. Nous détaillerons dans ce Focus une installation de paquets sur une version Fedora Core 10.

Il est nécessaire d'installer trois paquets, comme indiqué à la Figure 14 : un paquet pour les bibliothèques, un pour les outils clients et un pour le serveur.

Figure 14- Sélection des paquets nécessaires

Une fois ces paquets sélectionnés, l'installation est tout à fait standard, avec une vérification du mot de passe de root et le téléchargement, puis l'installation des paquets.

Figure 15 - Authentification

Figure 16 - Étapes d'installation

D - Configurer le serveur après l'installation

Une fois les programmes installés, il faut configurer le serveur en initialisant ses structures internes.

Suivant la façon dont les paquets ont été construits, vous n'aurez pas à le faire vous-même, et vous pouvez sauter cette partie d'initialisation allant directement créer une base de données.

Sinon, si vous ne l'avez pas déjà fait, créez un utilisateur postgres et connectez vous avec lui. L'initialisation du serveur s'effectuera sous ce compte, à l'aide de la commande initdb. Elle attend un paramètre obligatoire, avec l'option -D, pour spécifier le répertoire des données :

[postgres@Fedora10 root]$ initdb -D /home/postgres/data
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.
The database cluster will be initialized with locale fr_FR.UTF-8.
The default database encoding has accordingly been set to UTF8.
The default text search configuration will be set to "french".
creating directory /home/postgres/data ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers/max_fsm_pages ... 24MB/153600
creating configuration files ... ok
creating template1 database in /home/postgres/data/base/1 ... ok
initializing pg_authid ... ok
initializing dependencies ... ok
creating system views ... ok
loading system objects' descriptions ... ok
creating conversions ... ok
creating dictionaries ... ok
setting privileges on built-in objects ... ok
creating information schema ... ok
vacuuming database template1 ... ok
copying template1 to template0 ... ok
copying template1 to postgres ... ok
WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the -A option the
next time you run initdb.
Success. You can now start the database server using:
postgres -D /home/postgres/data
or
pg_ctl -D /home/postgres/data -l logfile start

Une fois l'installation effectuée, il suffit de lancer le serveur avec l'une des instructions proposées, par exemple pg_ctl :

[postgres@Fedora10 ~]$ pg_ctl -D /home/postgres/data -l logfile start
serveur en cours de démarrage

Le serveur est maintenant configuré et opérationnel. Nous pouvons créer une première base de données et nous connecter pour vérifier que tout fonctionne correctement, en utilisant les commandes createdb et psql :

[postgres@Fedora10 ~]$ createdb test
[postgres@Fedora10 ~]$ psql test

Bienvenue dans psql 8.3.7, l'interface interactive de PostgreSQL.

Saisissez :

\copyright pour les termes de distribution
\h pour l'aide-mémoire des commandes SQL
\? pour l'aide-mémoire des commandes psql
\g ou point-virgule en fin d'instruction pour exécuter la requête
\q pour quitter

Tout va bien, l'installation et la configuration sont terminées et vous êtes prêt à utiliser votre serveur.

Les étapes que nous avons parcourues ici peuvent varier suivant la distribution Linux que vous utilisez, en raison des choix de structuration des paquets ou des stratégies de sécurité de votre installation. Par exemple, on peut avoir besoin de définir un mot de passe pour le compte propriétaire du serveur.

E - Installer un binaire sous Mac OS

Comme pour Linux, il est possible d'installer PostgreSQL à l'aide du gestionnaire de paquetages de MAC OS. La page http://www.postgresql.org/download/macosx propose des liens vers différents projets et paquetages pour procéder ainsi.

Vous pouvez utiliser Fink ou Macport pour installer les paquetages de PostgreSQL. La plupart sont des paquetages sources, ce qui implique que vous devez disposer des outils de développement installé sur votre système.

Par exemple, l'installation avec Macport s'effectue avec la commande install postgresql84 :

admins-computer:~ admin$ sudo port
Password:
MacPorts 1.8.0
Entering interactive mode... ("help" for help, "quit" to quit)
[Users/admin] > install postgresql84
---> Computing dependencies for postgresql84

Une fois les paquets installés, il faut effectuer les mêmes opérations de configuration que dans un environnement Linux. Reportez-vous au paragraphe Configurer le serveur après l'installation :

- Création d'un utilisateur postgres ;

- Création d'un répertoire destiné à contenir les fichiers de données ;

- Initialisation des structures du serveur avec la commande initdb ;

- Lancement du serveur avec la commande pg_ctl ;

- Création de la base de données avec la commande createdb ;

- Vérification de l'accès à la base de données avec la commande psql.