Les processus de PostgreSQL

Magazine
Marque
GNU/Linux Magazine
Numéro
112
Mois de parution
janvier 2009


Résumé
PostgreSQL n'est pas multithreadé. Lors de sa conception, les développeurs de PostgreSQL ont préféré utiliser une approche basée sur les processus, et non pas sur les threads. Cela a une implication importante, par exemple pour la gestion de la mémoire. Mais, même sans cela, il est nécessaire de bien comprendre l'intérêt des différents processus pour bien gérer son serveur.

L'outil permettant de lancer PostgreSQL s'appelle « pg_ctl ». Il est généralement appelé par le script de démarrage compris dans le répertoire /etc/init.d, mais il est aussi exécutable manuellement. Ce programme exécute un autre programme, appelé « postgres ». Il s'agit du processus père de tous les autres processus du serveur PostgreSQL. Très souvent, le nom « postmaster » est utilisé. Le programme existe même dans les paquets de PostgreSQL, mais il ne s'agit souvent que d'un lien symbolique vers l'exécutable postgres. Voici ce qui se passe quand on exécute la commande pg_ctl :

guillaume@laptop$ ps xfo args | grep [p]ostgres

guillaume@laptop$ pg_ctl start

serveur en cours de démarrage

LOG: le système de bases de données a été arrêté à 2008-10-16 16:22:10 CEST

LOG: lancement du processus autovacuum

LOG: le système de bases de données est prêt pour accepter les connexions

guillaume@laptop$ ps xfo args | grep [p]ostgres

/opt/postgresql-8.3/bin/postgres

\_...

Cet article est réservé aux abonnés. Il vous reste 95% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite