32.16. Файл паролей#

32.16. Файл паролей

32.16. Файл паролей

Файл .pgpass в домашнем каталоге пользователя может содержать пароли, которые будут использоваться, если для подключения требуется пароль (и не указан другой пароль). В Microsoft Windows файл называется %APPDATA%\postgresql\pgpass.conf (где %APPDATA% относится к подкаталогу Application Data в профиле пользователя). В качестве альтернативы, файл с паролями можно указать с помощью параметра подключения passfile или переменной среды PGPASSFILE.

Этот файл должен содержать строки следующего формата:

hostname:port:database:username:password

(Вы можете добавить комментарий-напоминание в файл, скопировав строку выше и предварив ее символом #). Каждое из первых четырех полей может быть литеральным значением или *, которое соответствует любому значению. Поле пароля из первой строки, которая соответствует текущим параметрам подключения, будет использоваться. (Поэтому, когда вы используете подстановочные символы, сначала укажите более конкретные записи). Если запись должна содержать символ : или \, экранируйте этот символ с помощью \. Поле имени хоста сопоставляется с параметром подключения host, если он указан, в противном случае с параметром hostaddr, если он указан; если ни один из них не указан, то ищется имя хоста localhost. Имя хоста localhost также ищется, когда соединение осуществляется через Unix-сокет и параметр host соответствует пути к каталогу сокетов по умолчанию libpq. В резервном сервере поле базы данных replication соответствует потоковым соединениям репликации, установленным с основным сервером. Поле базы данных имеет ограниченную полезность в других случаях, поскольку пользователи имеют одинаковый пароль для всех баз данных в одном кластере.

На Unix-системах разрешения на файл с паролями должны запрещать доступ для всех пользователей и групп. Для этого можно использовать команду chmod 0600 ~/.pgpass. Если разрешения на файл менее строгие, он будет проигнорирован. В операционной системе Microsoft Windows предполагается, что файл хранится в безопасном каталоге, поэтому не выполняется специальная проверка разрешений.