丢失 PostgreSQL 超级用户用户名和密码

Coc*_*lla 3 postgresql

我有一个在 Windows 上运行的 PostgreSQL 8.4 数据库,但我丢失了超级用户用户名的名称,因此无法连接。

我已经配置pg_hba.conf为使用trust允许没有密码的连接,但我仍然需要知道登录的有效用户的名称。

我试过postgresadmin等,但我总是得到:

psql: FATAL:  role "USERNAME" does not exist
Run Code Online (Sandbox Code Playgroud)

rvs*_*rvs 10

您可以尝试在单用户模式下运行 PostgreSQL。在我的系统(Linux)上,我已经能够使用以下命令获得超级用户 sql shell:sudo -u postgres postgres90 --single postgres -D /var/lib/postgresql/9.0/data/.

sudo -u postgres 这里是删除特权(postgres 拒绝在特权帐户下运行,其他参数应该很容易理解。

在单用户 shell 中,您应该能够创建新用户或 SELECT * FROM pg_user;