如何在没有超级用户帐户的情况下创建PostgreSQL超级用户?

3

好的,我刚刚安装了Mountain Lion。首先注意到的是我的Postgres用户帐户从登录屏幕中消失了。然后我验证了我的postgres安装是否不再工作。所以我在我的Mac上创建了一个新的postgres用户帐户,并设置了所有适当的权限以使postgres服务器启动。它启动了,但马上就停止了。我检查了日志文件,它说角色“postgres”不存在。

我无法弄清楚如何在数据库中创建此用户,因为如果不使用超级用户帐户,数据库将不允许我访问它。我尝试过“createuser postgres”,但收到了相同的消息,“role 'postgres' does not exist”。我不知道该怎么办了。


你尝试过在postgresql.conf文件中关闭身份验证吗?如果没有任何数据库角色,不确定这是否真的有帮助,但值得一试。 - josh-cain
2
你是否知道 postgres 系统用户和 postgres 数据库用户是两个完全不同的实体?他们只是拥有相同的名称而已。 - Erwin Brandstetter
1
在dba.SE上有更多关于此问题的详细信息。看起来苹果在升级方面做得不太好。 - Erwin Brandstetter
我知道它们是两个不同的用户。我创建了一个名为postgres的系统用户。我的问题是,由于某种原因,同名的数据库用户不再存在。在它工作时,“postgres”是数据库用户(超级用户),但现在由于某种原因它不再存在了。 - Jason Stokes
1
请查看我在dba.SE上链接的相关问题。那里发现,在不同路径上有两个不同的安装... - Erwin Brandstetter
显示剩余2条评论
1个回答

2
发现了我的问题。在升级到Mountain Lion的过程中,我的Postgres数据库用户不知何故被删除了。但是我能够使用同样的用户名登录到数据库中。不幸的是,我发现我的数据库也在升级时被删除了。我不知道为什么,但这次升级确实影响了我的PostgreSQL安装。登录后,我发现Postgres数据库和template1数据库之间没有关系。现在需要重新组合我的数据库......幸运的是,我仍处于开发模式。注意:在未来,在升级系统之前备份数据库。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接