Le fichier .pgpass
, situé dans le répertoire personnel de
l'utilisateur est un fichier contenant les mots de passe à utiliser si la
connexion requiert un mot de passe (et si aucun mot de passe n'a été spécifié).
Sur Microsoft Windows, le fichier est nommé
%APPDATA%\postgresql\pgpass.conf
(où %APPDATA%
fait référence au sous-répertoire Application Data du profil de l'utilisateur).
De manière alternative, le fichier de mots de passe peut être spécifié en
utilisant le paramètre de connexion passfile
ou la variable d'environnement PGPASSFILE
.
Ce fichier devra être composé de lignes au format suivant (une ligne par connexion) :
nom_hote
:port
:database
:nomutilisateur
:motdepasse
(Vous pouvez ajouter un rappel en commentaire dans le fichier en copiant
cette ligne et en la précédant d'un dièse (#
).)
Chacun des quatre premiers champs peut être une valeur littérale ou
*
, qui correspond à tout.
La première ligne correspondant aux paramètres de
connexion sera utilisée (du coup, placez les entrées les plus spécifiques
en premier lorsque vous utilisez des jokers). Si une entrée doit contenir
:
ou \
, échappez ce caractère avec
\
. Le nom de l'hôte est rapproché du paramètre de connexion
host
s'il est spécifié, sinon au paramètre
hostaddr
si spécifié. Si ni l'un ni l'autre ne sont
fournis, l'hôte localhost
sera alors recherché.
L'hôte localhost
est également recherché si la connexion
est une socket de domaine Unix et que le paramètre host
correspond au répertoire par défaut de la libpq.
Sur un serveur secondaire, un champ database
à
replication
correspond aux connexions de réplication
par flux au serveur maître. À part cela, le champ database
est d'une utilité limitée, puisque les utilisateurs ont le même mot de
passe pour toutes les bases de données de l'instance.
Sur les systèmes Unix, les droits sur un fichier de mots de passe doivent
interdire l'accès au groupe et au reste du monde ; faites-le avec une
commande comme chmod 0600 ~/.pgpass
. Si les droits sont
moins stricts, le fichier sera ignoré. Sur Microsoft Windows, il est
supposé que le fichier est stocké dans un répertoire qui est sécurisé, donc
aucune vérification des droits n'est effectuée.