【问题标题】:"Role" does not exists in PostgresqlPostgresql 中不存在“角色”
【发布时间】:2019-12-10 03:38:19
【问题描述】:

我一直在阅读this tutorial。以用户身份登录有以下命令:

# login as user "user"
psql -U user

当我执行上述命令时,我收到一条错误消息:

psql: FATAL:  role "user" does not exist

我在网上看到的唯一帮助是here,上面说的是:

致命:角色“myusername”不存在

默认情况下,PostgreSQL 使用相同的连接到 PostgreSQL 用户 名称为当前的 unix 用户。您尚未创建 PostgreSQL 用户 在您的数据库中使用该名称。

创建合适的用户,或指定不同的用户名进行连接 和。在命令行工具中,-U 标志执行此操作。

但是我还是不太明白为什么会出现这个错误。

【问题讨论】:

  • 您收到错误消息是因为您尚未创建名为 user 的用户。

标签: postgresql


【解决方案1】:

您必须首先以用户postgres 登录Linux shell,然后使用命令createuser 创建新的postgres 用户。系统用户postgres 由 Postgres 安装程序自动创建。

在控制台中执行此代码(将 your_username 更改为您选择的用户名):

sudo -u postgres -i
createuser -l -d -P your_username

最好也创建一个同名的数据库(这样以后登录更容易):

createdb your_username -O your_username

那么你应该可以用

在 psql 中连接
psql -h localhost -U your_username

【讨论】:

    【解决方案2】:

    请检查用户是否存在。

    \dg
    

    如果没有,您需要教程中缺少的内容,并在必要时对其进行编辑。

    CREATE USER user WITH PASSWORD '<here you password>';
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-13
      • 2017-05-25
      • 1970-01-01
      • 1970-01-01
      • 2015-04-01
      • 2012-08-08
      • 1970-01-01
      • 2021-04-18
      相关资源
      最近更新 更多