Le fichier des services de connexion permet d'associer des paramètres de
connexion à un nom de service unique. Ce nom de service peut ensuite être
spécifié par une chaîne de connexion libpq et les paramétrages associés
seront utilisés. On peut donc modifier les paramètres de connexion sans
avoir à recompiler l'application utilisant la libpq. Le nom de service
peut aussi être spécifié en utilisant la variable d'environnement
PGSERVICE
.
Les noms de service peuvent être définis soit comme un fichier par
utilisateur soit comme un fichier du système. Si le même nom de service
existe dans les deux cas, le fichier utilisateur a priorité. Par défaut,
le fichier service par utilisateur est nommé
~/.pg_service.conf
.
Sur Microsoft Windows, il est nommé
%APPDATA%\postgresql\.pg_service.conf
(où
%APPDATA%
fait référence au sous-répertoire Application Data
du profile de l'utilisateur). Un autre nom de fichier peut être indiqué en
configurant la variable d'environnement
PGSERVICEFILE
. Le fichier du système est nommé
pg_service.conf
. Par défaut, il est recherché dans le
répertoire etc
de l'installation
PostgreSQL
(utilisez pg_config --sysconfdir
pour identifier
précisément ce répertoire). Il est aussi possible de configurer uniquement
le nom du répertoire en utilisant la variable d'environnement
PGSYSCONFDIR
.
Chaque fichier service utilise le format des « fichiers INI » où le nom de section et les paramètres sont des paramètres de connexion ; voir Section 34.1.2 pour une liste. Par exemple :
# comment [mabase] host=unhote port=5433 user=admin
share/pg_service.conf.sample
est fourni comme
fichier d'exemple dans le répertoire d'installation de
PostgreSQL.
Les paramètres de connexion obtenus à partir d'un fichier service sont
combinés avec les paramètres obtenus autrement. La configuration réalisée
par un fichier service surcharge les variables d'environnement
correspondantes et peut elle-même être surchargée avec une valeur indiquée
directement dans la chaîne de connexion. Par exemple, en utilisant le
fichier service ci-dessus, une chaîne de connexion service=mydb
port=5434
utilisera l'hôte somehost
, le port
5434
, l'utilisateur admin
, et les
autres paramètres tels qu'ils sont configurés par les variables
d'environnement ou leurs valeurs par défaut.