更改超级用户无法正常工作的用户

时间:2017-01-27 05:51:46

标签: postgresql

在我的postgresql中 psql控制台:

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-#

也没有像“ALTER ROLE”这样的反馈。最终结果显示用户'serf'仍然不是超级用户。

1 个答案:

答案 0 :(得分:0)

SQL语句需要以;

终止

Quote from the manual

  当到达命令终止分号时,

输入行被发送到服务器。 行尾不会终止命令。因此,为了清晰起见,命令可以分布在多行上

(强调我的)

另请注意the change of the prompt

默认情况下,提示为=>,并更改为->,表示没有;的声明

对于超级用户,提示为=#,对于未完成的语句,更改为-#。看到您在alter role提示符下输入-#语句意味着您之前已经输入了一些内容而未使用;

终止该语句

我的.psqlrc包含:

\set PROMPT2 '...> '

要使延续提示更加明显,因此输入多行命令如下所示:

psql (9.6.1)

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