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