PostgreSQLLa base de données la plus sophistiquée au monde.
Documentation PostgreSQL 13.18 » Administration du serveur » Configuration du serveur » Emplacement des fichiers

19.2. Emplacement des fichiers

En plus du fichier postgresql.conf déjà mentionné, PostgreSQL utilise deux autres fichiers de configuration éditables manuellement. Ces fichiers contrôlent l'authentification du client (leur utilisation est discutée dans le Chapitre 20). Par défaut, les trois fichiers de configuration sont stockés dans le répertoire data du cluster de bases de données. Les paramètres décrits dans cette section permettent de déplacer les fichiers de configuration. Ce qui peut en faciliter l'administration. Il est, en particulier, souvent plus facile de s'assurer que les fichiers de configuration sont correctement sauvegardés quand ils sont conservés à part.

data_directory (string)

Indique le répertoire à utiliser pour le stockage des données. Ce paramètre ne peut être initialisé qu'au lancement du serveur.

config_file (string)

Indique le fichier de configuration principal du serveur (appelé postgresql.conf). Ce paramètre ne peut être initialisé que sur la ligne de commande de postgres.

hba_file (string)

Indique le fichier de configuration de l'authentification fondée sur l'hôte (appelé pg_hba.conf). Ce paramètre ne peut être initialisé qu'au lancement du serveur.

ident_file (string)

Indique le fichier de configuration pour la correspondance des noms d'utilisateurs, fichier appelé pg_ident.conf). Voir Section 20.2 pour plus de détails. Ce paramètre ne peut être initialisé qu'au lancement du serveur.

external_pid_file (string)

Indique le nom d'un fichier supplémentaire d'identifiant de processus (PID) créé par le serveur à l'intention des programmes d'administration du serveur. Ce paramètre ne peut être initialisé qu'au lancement du serveur.

Dans une installation par défaut, aucun des paramètres ci-dessus n'est configuré explicitement. À la place, le répertoire des données est indiqué par l'option -D en ligne de commande ou par la variable d'environnement PGDATA. Les fichiers de configuration sont alors tous disponibles dans le répertoire des données.

Pour conserver les fichiers de configuration dans un répertoire différent de data, l'option -D de la ligne de commande postgres ou la variable d'environnement PGDATA doit pointer sur le répertoire contenant les fichiers de configuration. Le paramètre data_directory doit alors être configuré dans le fichier postgresql.conf (ou sur la ligne de commande) pour préciser où est réellement situé le répertoire des données. data_directory surcharge -D et PGDATA pour l'emplacement du répertoire des données, mais pas pour l'emplacement des fichiers de configuration.

les noms des fichiers de configuration et leur emplacement peuvent être indiqués individuellement en utilisant les paramètres config_file, hba_file et/ou ident_file. config_file ne peut être indiqué que sur la ligne de commande de postgres mais les autres peuvent être placés dans le fichier de configuration principal. Si les trois paramètres et data_directory sont configurés explicitement, alors il n'est pas nécessaire d'indiquer -D ou PGDATA.

Lors de la configuration de ces paramètres, un chemin relatif est interprété d'après le répertoire d'où est lancé postgres.