2017-06-17 41 views
1

我目前正在忙着尝试执行一些SQL查询来形成我的PostgreSQL/Postgis数据库的演示。不过,我在查询中的某一行上获得了一个语法。如何解决此查询中的pgadmin 4 GRANT语法错误?

该查询的确在不同的计算机上过去的工作,所以我在这里不为什么它不工作现在看这个问题:

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 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 
+0

什么是错误讯息?显而易见的错误是,您忘记了用';' –

+0

添加了错误代码来终止最后两条语句 – ThunderSpark

回答

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;