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

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

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

我已经配置pg_hba.conftrust允许无需密码的连接,但我仍然需要知道有效用户的名称才能登录。

我试过了PostgreSQL 的行政等等,但我总是得到:

psql: FATAL:  role "USERNAME" does not exist

答案1

您可以尝试在单用户模式下运行 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;

相关内容