超级用户已过期且是唯一的用户

时间:2017-06-03 11:43:30

标签: postgresql database-connection

我在Windows 7上使用Postgres 9.5。

我只有一个用户postgres,我为该用户定义了到期日期。

现在我在尝试过期后尝试连接而且我不能,所以有人知道如何 从超级用户取消到期,所以我不必重新安装Postgres。

我尝试修改pg_hba.conf以允许trust postgres,但问题仍然存在。

1 个答案:

答案 0 :(得分:3)

以单用户模式启动服务器以修复故障"到期日期"用:

ALTER ROLE postgres VALID UNTIL 'infinity';

The manual:

  

postgres命令[...]   当从shell以单用户模式调用时,用户可以   输入查询,结果将打印到屏幕上,但在a   对于开发人员而言比最终用户更有用的表单。在里面   单用户模式,会话用户将被设置为ID为1的用户,   并且向该用户授予隐式超级用户权限。这个用户   实际上并不存在,因此可以使用单用户模式   手动恢复某些意外伤害   系统目录。

大胆强调我的。

除此之外:它是一个漂亮的"创意"让超级用户postgres过期的想法。 IOW: