2017-01-27 4 views
0
nicht

In meiner postgresql psql Konsole:Alter Benutzer mit Superuser-Arbeits

postgres-# alter user serf with superuser 
postgres-# \du 
          List of roles 
Role name |     Attributes     | Member of 
-----------+------------------------------------------------+----------- 
lord  | Superuser, Create role, Create DB    | {} 
postgres | Superuser, Create role, Create DB, Replication | {} 
serf  |            | {} 

postgres-# 

Es gibt auch keine Rückmeldung wie "alter role", die angezeigt werden sollen. Das Endergebnis zeigt, dass der Benutzer "Leibeigene" immer noch kein Super User ist.

+0

Ich habe das ';' –

Antwort

0

SQL-Anweisungen müssen mit einer ;

Quote from the manual

Eingangsleitungen werden an den Server gesendet beendet werden, wenn ein Befehl abbreche Semikolon erreicht ist. Ein Zeilenende beendet einen Befehl nicht. Somit können Befehle über mehrere Zeilen für Klarheit verbreitet werden

(Hervorhebung von mir)


Beachten Sie auch the change of the prompt

standardmäßig die Eingabeaufforderung => und Änderungen an -> zu geben Sie eine Aussage an, dass ohne ;

Für den Superuser lautet die Eingabeaufforderung =# und ändert sich in -# für nicht abgeschlossene Anweisungen. Sehen Sie, dass Sie die alter role Anweisung an einer -# Aufforderung eingeben bedeutet, dass Sie vorher bereits eingegeben etwas haben, ohne diese Aussage mit ;

endet Mein .psqlrc enthält:

\set PROMPT2 '...> ' 

Um die Fortsetzung deutlicher machen prompt, so Eingabe mehrzeiliger Befehle sieht so aus:

psql (9.6.1) 

postgres=> select * 
...> from 
...> foobar;