PostgreSQL错误:致命:角色“用户名”不存在

我正在设置PostgreSQL 9.1。我不能用PostgreSQL做任何事情:不能createdb,不能createuser;所有操作都返回错误消息

致命:角色h9uest不存在

h9uest是我的帐户名,我sudo apt get installPostgreSQL 9.1在此帐户下。
root帐户也存在类似错误

使用操作系统用户postgres创建您的数据库-只要您没有设置一个数据库角色,该角色具有与同名操作系统用户对应的必要权限(h9uest):

sudo-u postgres-i

按照这里或这里的建议

然后再试一次。当以系统用户身份操作时,键入exit

使用sudo执行单个命令createuser作为postgres,就像drees在另一个答案中演示的那样

关键是使用与同名数据库角色匹配的操作系统用户,通过ident身份验证授予访问权限postgres是初始化数据库集群的默认操作系统用户。手册:

为了引导数据库系统,一个新初始化的
系统始终包含一个预定义角色。这个角色始终是一个重要的角色
“超级用户”,默认情况下(除非在运行initdb时进行了更改)
将具有与初始化的操作系统用户相同的名称
数据库集群。通常,此角色将命名为postgres
为了创建更多的角色,您首先必须像这样连接
最初的角色

我听说过使用非标准用户名或操作系统用户不存在的奇怪设置。你需要在那里调整你的策略

阅读手册中有关数据库角色和客户端身份验证的内容

发表评论