16

我有一个拥有 PostgreSQL 数据库的客户端,他不记得我们在设置数据库时使用的密码。有没有办法恢复这些信息,这样我就不必炸毁他的数据库并从头开始?

数据库在 PC 上运行。

4

2 回答 2

29

第一步:编辑 PostgreSQL 配置文件建立信任关系,无需密码登录:

vi /var/lib/pgsql/data/pg_hba.conf

旧线:

本地所有postgres密码

将其更改为:

本地所有 postgres 信任

第 2 步:重新启动 PostgreSQL 服务器:

服务 postgresql 重启

第三步:修改密码:

psql -U postgres template1 -c 使用密码“newpassword”更改用户 postgres;

第 4 步:密码已更新。恢复配置文件的原始设置:

vi /var/lib/pgsql/data/pg_hba.conf

旧线:

本地所有 postgres 信任

将其更改为:

本地所有postgres密码

第 5 步:重启服务器并使用您的新密码访问 PostgreSQL 服务器。

服务 postgresql 重启

来源

于 2009-05-28T19:46:01.487 回答
2

对于 9.2,在 Windows 中:

停止服务:

网络停止 postgresql-x64-9

修改config文件,修改data/pg_hba.conf,基本上md5为trust:

托管所有所有 127.0.0.1/32 信任

托管所有::1/128 信任

启动服务:

网络启动 postgresql-x64-9

在 sql 控制台或使用 psql 执行 sql 语句以设置所需的密码:

使用密码“newpassword”更改用户 postgres;

放回原来的配置文件。

于 2013-04-02T09:29:53.103 回答