当前位置: 首页 > 知识库问答 >
问题:

PostgreSQL错误:致命:角色“username”不存在

柯波峻
2023-03-14

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

Fatal: role h9uest does not exist

h9uest是我的帐户名,并且我在此帐户下sudo apt-get installPostgreSQL 9.1。
类似的错误对于root帐户仍然存在。

共有2个答案

牟波
2023-03-14

在尝试了很多其他人的解决方案,都没有成功之后,这个答案终于帮了我的忙。

https://stackoverflow.com/A/16974197/2433309

简而言之,跑步

sudo -u postgres createuser owning_user

创建一个名为owning_user的角色(在本例中为h9uest)。之后,您可以在终端上以您设置的任何帐户名运行rakedb:create而不必进入Postgres环境。

洪雨石
2023-03-14

使用操作系统用户postgres创建数据库--只要您没有设置具有与同名操作系统用户相对应的必要特权的数据库角色(在您的示例中为h9uest):

sudo -u postgres -i

如这里或这里所推荐的。

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

或者使用sudo执行单个命令createuser作为postgres,如drees在另一个答案中所演示的那样。

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

为了引导数据库系统,新初始化的系统总是包含一个预定义的角色。此角色始终是“超级用户”,默认情况下(除非在运行initdb时更改),它将与初始化数据库html" target="_blank">集群的操作系统用户同名。通常,这个角色将被命名为postgres。为了创建更多的角色,您首先必须将其作为初始角色连接起来。

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

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

 类似资料:
  • 为什么IntelliJ不使用我的配置中指定的角色,而要使用我的个人登录??不管我用什么角色,还是犯了同样的错误。 注意:如果我添加我的系统用户名作为角色,它可以工作,但我更愿意避免这一点。

  • 我最近安装了Ubuntu的最新版本,还不习惯。我在连接PostgreSQL和PGADMIN3时遇到了几个问题。 我找不到,在这一点上,我太害怕尝试追随任何其他帖子而使事情变得更糟。 我怎么才能让这件事成功呢?

  • 我是个新手。 我为Mac安装了Postgres.App。我在玩psql命令时不小心丢失了postgres数据库。我不知道里面是什么。 我目前正在编写一个教程:http://www.rosslaird.com/blog/building-a-project-with-mezzanine/ 而且我被困在 错误消息: 那么我应该采取哪些步骤呢?删除一个与psql相关的所有内容并重新安装所有内容? 谢谢你

  • 我是新来postgres和面临的困难,在连接到数据库后服务器重启。我在一个OS用户测试下创建了一个数据库pgdb。服务器重启后,我通过发出命令重新启动pgsql 启动postgreql-9.6服务:[OK] 如果我只是发出psql,我会被带到psql提示符,但是这里的数据路径与我之前设置的不同。当我尝试以postgres用户的身份连接到pgdb时,我得到错误: psql: FATAL:数据库"pg

  • 我是一个新的postgres和面临困难连接到数据库后,服务器重新启动。我已经在一个OS用户测试下创建了一个数据库pgdb。服务器重新启动后,我通过发出以下命令重新启动pgsql PSQL:致命:角色“测试”不存在 请建议