我目前正忙于尝试从我的 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
最佳答案
那是因为你在下一行中缺少一个 ;
分号,它是行终止符。
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;
关于sql - 如何解决此查询中的 pgadmin 4 GRANT 语法错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44609810/