/
Вопросы и ответы
/
SQL
/

Как сбросить пароль postgresql

Как сбросить пароль postgresql

3 года назад

Nikolai Gagarinov

Ответы

1

Для сброса пароля в PostgreSQL можно воспользоваться следующими шагами:

  1. Первым шагом необходимо изменить файл конфигурации PostgreSQL, чтобы можно было войти в режим восстановления. Для этого откройте файл pg_hba.conf, который обычно находится в директории data вашего каталога базы данных PostgreSQL. Укажите trust в строке для метода аутентификации для вашей базы данных.

  2. После изменения файла конфигурации PostgreSQL, перезапустите сервер PostgreSQL, чтобы изменения вступили в силу.

  3. Теперь можно зайти в PostgreSQL без пароля командой psql -U postgres.

  4. Войдите в базу данных и сбросьте пароль с помощью команды ALTER USER postgres PASSWORD 'новый_пароль';, где postgres - имя пользователя, для которого нужно сбросить пароль, а 'новый_пароль' - новый пароль, который нужно установить.

  5. После того как вы установили новый пароль, не забудьте вернуть обратно метод аутентификации в файле pg_hba.conf на свои исходные параметры и перезапустите сервер PostgreSQL.

Теперь вы можете использовать новый пароль для доступа к вашей базе данных PostgreSQL.

2 года назад

Olga Pejenkova

0

Как сбросить пароль в PostgreSQL

Сброс нужен, когда пароль утерян и войти в базу уже невозможно. Суть: временно отключить проверку пароля, задать новый, включить обратно.

Шаг 1. Найти файл pg_hba.conf

sudo -u postgres psql -c "SHOW hba_file;"

Обычно файл лежит здесь:

/etc/postgresql/15/main/pg_hba.conf # Debian / Ubuntu /var/lib/pgsql/data/pg_hba.conf # RHEL / CentOS

Шаг 2. Открыть файл и временно разрешить вход без пароля

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

Найдите строку для локального подключения и замените метод на trust:

# было: local all postgres md5 # стало: local all postgres trust

Шаг 3. Перезапустить PostgreSQL

sudo systemctl restart postgresql

Шаг 4. Войти без пароля и задать новый

psql -U postgres

Шаг 5. Вернуть защищённый метод аутентификации

Откройте pg_hba.conf и верните md5 или scram-sha-256 на место:

local all postgres scram-sha-256

Перезапустите сервер:

sudo systemctl restart postgresql

Шаг 6. Проверить, что новый пароль работает

psql -U postgres -W

Флаг -W заставит явно запросить пароль.

Разница между md5 и scram-sha-256

МетодБезопасность
trustБез пароля — только для восстановления
md5Устаревший, но широко поддерживается
scram-sha-256Современный, рекомендуется с PostgreSQL 10+

Если версия PostgreSQL 10 и выше — используйте scram-sha-256.

Важно

Не оставляйте метод trust в pg_hba.conf после восстановления. С ним любой пользователь на сервере войдёт в базу без пароля.

5 дней назад

Никита Вихров

+7 800 100 22 47

бесплатно по РФ

+7 495 085 21 62

бесплатно по Москве

108813 г. Москва, вн.тер.г. поселение Московский,
г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3
ОГРН 1217300010476
ИНН 7325174845