如何解决此查询中的pgadmin 4 GRANT语法错误?

时间:2017-06-17 22:04:01

标签: sql postgresql grant

我目前正忙着尝试从PostgreSQL / Postgis数据库的演示中执行一些SQL查询。但是我在查询中的某一行获得了语法。

此查询过去在其他计算机上运行,​​所以我在这里看不到为什么它现在不起作用的问题:

CREATE ROLE demonstratieuser NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
CREATE ROLE demonstratieadmin NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
GRANT demonstratieuser TO demonstratieadmin
GRANT ALL ON DATABASE demodatabase TO demonstratieadmin

以下行具有语法错误,更具体地说是Grant部分。

GRANT ALL ON DATABASE demodatabase TO demonstratieadmin

我该如何解决这个问题?

编辑错误代码:

ERROR:  syntax error at or near "GRANT"
LINE 4: GRANT ALL ON DATABASE demodatabase TO demonstratieadmin;
        ^
********** Error **********

ERROR: syntax error at or near "GRANT"
SQL state: 42601
Character: 222

1 个答案:

答案 0 :(得分:1)

这是因为您在下面的行中缺少;分号,这是行终止符。

GRANT demonstratieuser TO demonstratieadmin

所以它应该是

CREATE ROLE demonstratieuser NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
CREATE ROLE demonstratieadmin NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
GRANT demonstratieuser TO demonstratieadmin;
GRANT ALL ON DATABASE demodatabase TO demonstratieadmin;