Настройки аутентификации пользователя postgres в PostgreSQL по паролю

Аутентификация клиентов управляется конфигурационным файлом, который традиционно называется pg_hba.conf и расположен в каталоге с данными кластера базы данных.
По умолчанию для локального пользователя postgres установлена аутентификация peer (более подробно в документации https://postgrespro.ru/docs/postgrespro/9.6/auth-pg-hba-conf).
Поэтому, для подключения к серверу переключаемся в консоли на пользователя postgres:
sudo su — postgres
Подключаемся к серверу:
psql
Чтобы задать пароль пользователю postgres выполняем в консоли postgres запрос:
alter user postgres encrypted password 'new_password';

Для того чтобы переключить аутентификацию пользователя postgres в режим по паролю (т.к. пароль у него теперь задан) редактируем файл pg_hba.conf:

sudo nano /etc/postgresql/9.6/main/pg_hba.conf

Находим в нем строку:
local all postgres peer
И меняем peer на md5. Сохраняем конфигурационный файл.
Чтобы применить изменения в конфигурации сервера без его рестарта то используется команда:
sudo service postgresql reload
Использование этой команды не приведет к прерыванию любых активных запросов или подключений к базе данных.
Того же эффекта можно достичь выполнив запрос SQL на сервере:
SELECT pg_reload_conf();
После выполнения команды подключимся снова к серверу (из сеанса любого пользователя (чтобы выйти из сеанса пользователя postgres нужно в консоли ввести exit и нажать Enter)):
psql -U postgres
После ввода пароля мы подключимся к серверу БД. Для проверки можно выполнить запрос:
SELECT version();
0

Добавить комментарий

Ваш e-mail не будет опубликован.