【问题标题】:PostgreSQL error Fatal: role “username” does not existPostgreSQL错误致命:角色“用户名”不存在
【发布时间】:2015-04-01 08:06:48
【问题描述】:

我正在 Windows 中设置我的 PostgreSQL 9.1。

我不能用 PostgreSQL 做任何事情:不能创建数据库,不能创建用户;所有操作都返回错误信息

致命:角色根不存在
root 是我在安装时创建的账户名Postgresql

但我可以使用以下方式连接:

 username : postgres  

如何使用角色root 连接到 postgres?
使用 su 命令here 提到了针对 linux 平台的解决方案,但无法找出适用于 windows7 的解决方案

提前致谢

【问题讨论】:

  • 您是否复制了我的问题并改成新的...?

标签: postgresql windows-7 windows-7-x64 roles


【解决方案1】:

在 postgres docker 容器上恢复数据库/表时出现同样的问题。

  • 。当您从 docker 容器内连接到 Postgres DB(psql shell) 时,默认用户将是“root”(除非您指定 psql -U "some-user-name"[Manjunath-MacBook-Air:$ sudo docker exec -it a2ff6075344e bash

    bash-5.0# psql -U postgres postgres < testdb_pg_dump

  • 所以,问题得到解决,通过使用适当的用户名登录到 psql shell

这里,-U postgres 指定连接到 DB 的用户是“postgres”

【讨论】:

    【解决方案2】:

    在某些情况下,安装 postgres 时不会创建初始数据库。

    你需要execute initdb

    【讨论】:

      【解决方案3】:

      如果你想使用用户名root 登录 Postgres,你需要先创建一个这样的用户。

      您首先需要以 Postgres 超级用户身份登录。这通常是postgres(并在安装期间指定):

      psql -U postgres ....
      

      然后你可以创建角色和数据库:

      psql (9.4.0)
      Type "help" for help.
      
      postgres=# create user root with password 'verysecret';
      CREATE ROLE
      postgres=# \q
      
      c:\
      c:\>psql -U root postgres
      psql (9.4.0)
      Type "help" for help.
      
      postgres=>
      

      以超级用户身份登录,您还可以授予root 用户必要的权限。

      psqlare documented in the manual 的所有参数。

      手册中还记录了创建用户和数据库:

      【讨论】:

      • 我已经按照您的解释进行了尝试,即使用密码“root”创建用户 root; \q psql -U root:给出错误:致命数据库“root”不存在。
      • @Abhishek: 那么你需要指定你想要连接到哪个数据库(psql默认使用与用户名as documented in the manual相同的数据库名称)。或者,如果您为每个用户创建一个数据库,则需要创建一个具有该名称的数据库。一定要阅读手册,它都在里面
      • 如果用户postgres 不存在,那么第一行将不起作用。
      • @Pere:这就是我之前在文本中写“例如 postgres”的原因。您需要使用 Postgres 安装中的任何超级用户。但这是安装 Postgres 时的默认超级用户名
      • 对不起,@a_horse_with_no_name,这是我的错:我从问题中错误地理解为用户无法使用postgres user登录。不仅您的回答完全正确,而且我的评论,加上我的反对票,毫无意义。因此,请为您的编辑点赞,因为如果可能的话,只要稍微澄清一下,它就会变得更好。
      猜你喜欢
      • 2012-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-25
      • 2017-09-02
      • 2018-12-02
      • 1970-01-01
      • 2017-12-20
      相关资源
      最近更新 更多