31.15. Fichier de mots de passe

Le fichier .pgpass, situé dans le répertoire personnel de l'utilisateur, ou le fichier référencé par PGPASSFILE 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 profile de l'utilisateur).

Ce fichier devra être composé de lignes au format suivant (une ligne par connexion) :

nom_hote:port:database:nomutilisateur:motdepasse 

(Vous pouvez ajouter en commentaire dans le fichier cette ligne que vous précédez d'un dièse (#).) Chacun des quatre premiers champs pourraient être une valeur littérale ou * (qui correspond à tout). La première ligne réalisant une correspondance pour les paramètres de connexion sera utilisée (du coup, placez les entrées plus spécifiques en premier lorsque vous utilisez des jokers). Si une entrée a besoin de contenir : ou \, échappez ce caractère avec \. Un nom d'hôte localhost correspond à la fois à une connexion TCP (nom d'hôte localhost) et à une connexion par socket de domaine Unix (pghost vide ou le répertoire par défaut du socket) provenant de la machine locale. Dans un serveur en standby, le nom de la base de données replication correspond aux connexions réalisées par le serveur maître pour la réplication en flux. Le champ database est d'une utilité limitée car les utilisateurs ont le même mot de passe pour toutes les bases de données de la même instance.

Sur les systèmes Unix, les droits sur .pgpass doivent interdire l'accès au groupe et au reste du monde ; faites-le par cette commande : chmod 0600 ~/.pgpass. Si les droits sont moins stricts que cela, 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.