2017-06-17 180 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;