psql:致命:角色“用户”不存在

时间:2016-11-28 23:59:50

标签: postgresql psql

我的psql无法打开。奇怪的是。我通过使用psql -U postgres进行日志记录创建了一个用户“Ben”,它允许我打开PSQL并运行命令

CREATE USER Ben WITH PASSWORD '123';

我这样做之后就说ERROR: role "ben" already exists

但是当我运行psql时它会抛出psql: FATAL: role "Ben" does not exist

1 个答案:

答案 0 :(得分:1)

当您发出如下SQL命令时:

CREATE USER Ben WITH PASSWORD '123';

此命令中的标识符(例如用户名)将折叠为小写。所以用户实际上被创建为'ben'。

发出shell命令时,例如:

psql -U Ben mydatabase

然后保留标识符大小写,使其区分大小写。

如果你真的希望用户名大写,那么在SQL中加倍引用它,如下所示:

CREATE USER "Ben" WITH PASSWORD '123';

否则全部小写并连接:

psql -U ben mydatabase

请参阅手册

中的Identifiers & Keywords