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