31.16. Файл паролей#
31.16. Файл паролей #
Файл .pgpass в домашнем каталоге пользователя может содержать пароли, которые будут использоваться, если для подключения требуется пароль (и пароль не был указан другим способом).
В качестве альтернативы, используемый файл паролей можно указать с помощью параметра подключения passfile или переменной окружения PGPASSFILE.
Этот файл должен содержать строки следующего формата:
hostname:port:database:username:password
(Вы можете добавить комментарий-напоминание в файл, скопировав строку выше и предварив ее символом #).
Каждое из первых четырех полей может быть литеральным значением или
*, которое соответствует любому значению. Поле пароля из
первой строки, которая соответствует текущим параметрам подключения, будет
использоваться. (Поэтому, когда вы используете подстановочные символы, сначала укажите более конкретные записи). Если запись должна содержать символ : или
\, экранируйте этот символ с помощью \.
Поле имени хоста сопоставляется с параметром подключения host, если он указан, в противном случае с параметром
hostaddr, если он указан; если ни один из них не указан, то ищется имя хоста localhost.
Имя хоста localhost также ищется, когда
соединение осуществляется через Unix-сокет и
параметр host
соответствует пути к каталогу сокетов по умолчанию libpq.
В резервном сервере поле базы данных replication
соответствует подключениям для потоковой репликации, установленным с основным сервером.
Поле базы данных имеет ограниченную полезность в других случаях, поскольку пользователи имеют одинаковый пароль для всех баз данных в одном кластере.
На Unix-системах права доступа к файлу паролей должны запрещать любой доступ для всех и для группы; этого можно добиться с помощью команды, такой как chmod 0600 ~/.pgpass. Если права доступа менее строгие, этот файл будет проигнорирован.