📜  PostgreSQL - 重置 Postgres 的密码

📅  最后修改于: 2022-05-13 01:57:14.873000             🧑  作者: Mango

PostgreSQL - 重置 Postgres 的密码

在本文中,我们将研究重置 Postgres 用户密码以防用户忘记密码的分步过程。

PostgreSQL 使用存储在数据库数据目录中的 pg_hba.conf 配置文件(例如,Windows 上的 C:\Program Files\PostgreSQL\12\data)并用于处理用户身份验证。 pg_hba.conf 中hba表示基于主机的身份验证。

由于重置密码需要在 pg_hba.conf 文件中进行修改,因此您需要在没有任何密码的情况下登录 Postgres 角色。

按照以下步骤为 postgres 用户重置密码:

  • 步骤 1:通过将 pg_hba.conf文件复制到其他位置或将其重命名为pg_hba.conf.bk来创建该文件的备份
  • 第 2 步:现在更改 pg_dba.conf文件通过建立从 md5到信任的所有本地连接。这将帮助您无需使用密码即可登录 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。

或者从窗口终端使用以下命令:



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

“C:\ Program Files文件\ PostgreSQL的\ 12个\ DATA”是数据目录。

  • 第 4 步:最后使用任何工具(例如 psql 或 pgAdmin)连接到 PostgreSQL 数据库服务器:
psql -U postgres

在此阶段,不会要求您进行任何身份验证。

  • 第 5 步:使用以下命令为postgres用户设置新密码。
ALTER USER postgres WITH PASSWORD 'new_password';

这将更改用户密码,如下所示:

  • 第 6 步:现在恢复pg_dba.conf文件并重新启动 PostgreSQL 数据库服务器。 ,在此阶段您可以使用新密码连接到 PostgreSQL 数据库服务器。

按照以上步骤成功重置 Postgres 密码,重置后不要忘记恢复 pg_dba.conf 文件以成功存储凭据以备将来验证。