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 文件以成功存储凭据以备将来验证。