Сбросить забытый пароль для пользователя Postgres

  • Михаил
  • 12 мин. на прочтение
  • 156
  • 22 Feb 2019
  • 22 Feb 2019

По какой-то причине после установки PostgreSQL вы можете забыть пароль пользователя postgres. В этом случае нужно знать, как сбросить пароль.

PostgreSQL использует  pg_hba.conf файл конфигурации, хранящийся в каталоге данных базы данных (например, C:\Program Files\PostgreSQL\14\data в Windows), для управления аутентификацией клиента. В hba pg_hba.conf означает аутентификацию на основе хоста.

Чтобы сбросить пароль для  postgres пользователя, вам нужно изменить некоторые параметры в этом файле конфигурации, войти в систему как postgres без пароля и сбросить пароль.

Следующие шаги показывают, как сбросить пароль для postgres пользователя:

Шаг 1 . Создайте резервную копию pg_hba.conf файла, скопировав его в другое место или просто переименовав вpg_hba.conf.bk

Шаг 2 . Отредактируйте pg_dba.conf файл и измените все локальные соединения с md5 на trust. Сделав это, вы можете войти на сервер базы данных PostgreSQL без использования пароля.

# TYPE  DATABASE        USER            ADDRESS                 METHOD # IPv4 local connections: host    all             all             127.0.0.1/32            trust # IPv6 local connections: host    all             all             ::1/128                 trust # Allow replication connections from localhost, by a user with the # replication privilege. host    replication     all             127.0.0.1/32            trust host    replication     all             ::1/128                 trust

Шаг 3 . Перезапустите сервер PostgreSQL. Если вы работаете в Windows, вы можете перезапустить PostgreSQL из Services :

Или выполните следующую команду из оконного терминала:

C:\"Program Files"\PostgreSQL\14\bin\pg_ctl -D "C:\Program Files\PostgreSQL\14\data" restart

Это "C:\Program Files\PostgreSQL\14\data" каталог данных.

Шаг 4 . Подключитесь к серверу базы данных PostgreSQL с помощью любого инструмента, такого как psql или pgAdmin:

psql -U postgres

PostgreSQL не требует пароля для входа.

Шаг 5 . Выполните следующую команду, чтобы установить новый пароль для postgresпользователя.

postgres=# ALTER USER postgres WITH PASSWORD 'new_password';

Язык кода:  SQL (язык структурированных запросов)  ( sql )

Шаг 6 . Восстановите pg_dba.conf файл, перезапустите сервер базы данных PostgreSQL и подключитесь к серверу базы данных PostgreSQL с новым паролем.