34.16. Файл паролей
Файл .pgpass
в домашнем каталоге пользователя может содержать пароли, которые будут использоваться, если для подключения требуется пароль (и пароль не задаётся другим способом). В Microsoft Windows этот файл называется %APPDATA%\postgresql\pgpass.conf
(где %APPDATA%
обозначает каталог с данными приложений в профиле пользователя). Имя используемого файла паролей также можно задать в параметре подключения passfile или в переменной окружения PGPASSFILE
.
Этот файл должен содержать строки следующего формата:
имя_узла
:порт
:база_данных
:имя_пользователя
:пароль
(Вы можете вставить в этот файл комментарий-памятку, скопировав показанную строку в него и добавив в начало #
.) Первые четыре поля могут содержать строковые значения, либо знак *
, соответствующий всему. Применяться будет пароль, указанный в первой из строк, значения полей в которой соответствуют текущему соединению. (Поэтому, если вы используете звёздочки, поместите более конкретные записи первыми.) Если запись должна содержать символ :
или \
, добавьте перед ним \
. Поле с именем узла сопоставляется с параметром подключения host
(если он указан) или с параметром hostaddr
(если указан он); в случае отсутствия обоих параметров подразумевается имя localhost
. Имя узла localhost
также подразумевается, когда соединение устанавливается через Unix-сокет и параметр host
соответствует установленному в libpq каталогу сокетов по умолчанию. На ведомом сервере имя базы данных replication
соответствует подключениям к ведущему серверу, которые применяются для потоковой репликации. Поле база_данных
имеет ограниченную ценность, так как пользователи используют один пароль для всех баз данных в кластере.
В системах Unix разрешения для файла паролей должны запрещать любой доступ к нему всем и группе; этого можно добиться командой chmod 0600 ~/.pgpass
. Если разрешения будут менее строгими, этот файл будет игнорироваться. В Microsoft Windows предполагается, что файл хранится в безопасном месте, и никакие дополнительные проверки не производятся.