В этом руководстве мы рассмотрим, как сбросить пароли для пользователей с сервером PostgreSQL. Следует помнить, что под пользователями базы данных в данном случае понимаются пользователи, имеющие доступ к ядру базы данных. Следовательно, это не включает пользовательские данные для любого данного приложения.
Способ 1: использование утилиты PSQL
Самый распространенный способ сбросить пароль пользователя в PostgreSQL — войти в систему как суперпользователь (Postgres) с помощью утилиты PSQL.
Запустите новый сеанс терминала и выполните следующую команду, чтобы получить доступ к базе данных PostgreSQL в качестве суперпользователя:
$ psql -В постгрес
Данная команда запрашивает у вас пароль суперпользователя, определенный во время установки сервера.
После входа в интерфейс командной строки PostgreSQL вы можете использовать команду ALTER USER для сброса пароля определенного имени пользователя.
Синтаксис команды следующий:
ИЗМЕНИТЬ имя пользователя USER С ПАРОЛЕМ 'Новый пароль' ;Например, предположим, что мы хотим сбросить пароль для имени пользователя с именем «linuxhint». Мы можем запустить запрос следующим образом:
ИЗМЕНИТЬ ПОЛЬЗОВАТЕЛЯ linuxhint С ПАРОЛЕМ 'пароль' ;
Вы должны заключить пароль в одинарные кавычки, особенно если пароль содержит специальные символы.
После успешного выполнения команды вы можете выйти из интерфейса PSQL, используя следующую команду:
\qСпособ 2: использование графического интерфейса PgAdmin
Вы также можете сбросить пароль данного пользователя базы данных с помощью графического интерфейса pgAdmin.
Вы можете выполнить описанные здесь шаги, чтобы узнать, как сбросить пароль пользователя с помощью pgAdmin:
а. Запустите утилиту pgAdmin и войдите в систему с правильными учетными данными.
б. Подключитесь к целевому серверу PostgreSQL, используя учетные данные суперпользователя.
в. На панели обозревателя объектов с левой стороны разверните группу «Серверы» и перейдите к целевой базе данных.
д. Разверните узел «Логин/Групповые роли», чтобы найти пользователя, чей пароль вы хотите сбросить. В этом случае мы хотим сбросить пароль для пользователя «linuxhint».
е. Щелкните правой кнопкой мыши выбранного пользователя и выберите «Свойства» в контекстном меню.
ф. В окне «Свойства» перейдите на вкладку «Определение».
г. Введите новый пароль в поле «Пароль» для определенного пользователя.
час Наконец, нажмите «Сохранить», чтобы сохранить изменения.
Это должно установить новый пароль для целевого пользователя.
Способ 3: редактирование файла конфигурации пароля PostgreSQL
Если вы забыли пароль для учетной записи суперпользователя, вы можете сбросить пароль, отредактировав файл конфигурации паролей PostgreSQL.
Начните с поиска каталога данных для вашей установки PostgreSQL. Путь к этому каталогу зависит от вашей операционной системы и установленной версии PostgreSQL.
В каталоге данных найдите файл pg_hba.conf и отредактируйте его в любом текстовом редакторе.
Измените все локальные соединения с md5 на trust. Это говорит PostgreSQL доверять всем входящим соединениям с локальной машины без пароля.
# ТИП БАЗА ДАННЫХ ПОЛЬЗОВАТЕЛЬ АДРЕС МЕТОД# 'local' только для соединений сокетов домена Unix
local all all доверие
# Локальные соединения IPv4:
хост все все 127.0.0.1/32 доверие
# Локальные соединения IPv6:
host all all ::1/128 доверие
# Разрешить подключения репликации с локального хоста пользователем с
# привилегия репликации.
локальная репликация все доверие
хост репликация все 127.0.0.1/32 доверие
хост репликация все ::1/128 доверие
После завершения вам необходимо перезапустить сервер PostgreSQL, чтобы изменения вступили в силу. Затем вы можете войти на сервер PostgreSQL, используя пользователя Postgres без пароля.
Заключение
Мы изучили различные методы и приемы, которые можно использовать для сброса пароля пользователя в PostgreSQL.