Concepts architecturaux de Postgres

Avant de commencer, vous devez comprendre la base de l'architecture système de Postgres. Le mode d'interaction des composants de Postgres sera présenté dans le chapitre suivant. Dans le jargon des bases de données, Postgres utilise l'approche dite "un processus par utilisateur" selon un modèle client/serveur. Une session Postgres utilise les processus Unix suivants :

En tant qu'applications client/serveur typiques, les client et le serveur peuvent se trouver sur des hôtes différents. Dans ce cas ils communiquent par une connexion réseau TCP/IP. Vous devez garder ceci en mémoire parce que les fichiers qui peuvent être accessibles sur une machine cliente peuvent ne pas l'être (ou l'être uniquement en utilisant des noms de fichiers différents) sur la machine serveur de la base.

Le serveur Postgres peut traiter de multiples connexions simultanées sepuis les clients. Pour celà il démarre un nouveau processus ("forks") pour chaque connexion. À ce moment, me client et le nouveau processus serveur communiquent sans intervention par le processus postmaster d'origine. Ainsi, le postmaster tourne toujours en attente de connexions. C'est, bien sûr, invisible pour l'utilisateur.