2017-06-17 1 views
1

Ich bin gerade damit beschäftigt, einige SQL-Abfragen aus meiner Demonstration einer PostgreSQL/Postgis-Datenbank auszuführen. Ich bekomme jedoch eine Syntax in einer bestimmten Zeile in meiner Abfrage.Wie pgadmin 4 GRANT Syntaxfehler in dieser Abfrage zu beheben?

Diese Abfrage funktioniert hat in der Vergangenheit auf einem anderen Computer, damit ich nicht das Problem hier sehen, warum es jetzt nicht funktioniert:

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 

Es ist die folgende Zeile, die auf mehr den Syntaxfehler hat speziell der Grant-Teil.

GRANT ALL ON DATABASE demodatabase TO demonstratieadmin 

Wie kann ich das beheben?

bearbeiten Fehlercode:

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

Was die Fehlermeldung? Der offensichtliche Fehler ist, dass Sie vergessen haben, die letzten beiden Anweisungen mit einem ';' –

+0

Fehlercode zu beenden – ThunderSpark

Antwort

1

Das ist, weil du ein ; Semikolon in der folgenden Zeile fehlen, den Leitungsabschluss ist.

GRANT demonstratieuser TO demonstratieadmin 

sein sollte also eigentlich

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; 
Verwandte Themen