postgresql alter role未注册

时间:2014-10-12 15:57:27

标签: postgresql

通过pgdump将数据库从另一台服务器导入9.3.5安装,我在访问postgreSQL的命令行时遇到了一些错误。

例如:

sudo su - postgres
psql -d template1

允许我查看用户\du\list数据库,但如果我说明,根据文档:

CREATE USER michaelrodent

CREATE ROLE donatoquack WITH LOGIN PASSWORD 'spltfrzspltrz'

\du仅列出默认用户或角色。但是,如果我从bash提示符中说明

sudo -u postgres createuser michaelrodent

\du然后显示角色名称。愚蠢的我没有将角色属性分配给超级用户,因此当通过psql导入时,我收到的错误如下:

ERROR:  must be owner of extension plpgsql
ERROR:  must be owner of relation accbiadesivolumes

以postgres用户身份返回,我不能:

alter role michaelrodent with superuser

...无法理解为什么postgresql命令语言无法注册以及如何使用sudo -u postgres [...]的快捷语法来改变角色......

1 个答案:

答案 0 :(得分:8)

您是否在命令行的末尾添加了分号,例如:

alter role michaelrodent with superuser;

答复/结果应为:

krant=# alter role dba with replication;
ALTER ROLE
krant=#