虽然角色名称存在,但删除角色不会丢弃

时间:2012-10-22 04:00:23

标签: postgresql

我有两位用户Jasonpostgres。由于我刚开始学习这个,我不知道为什么这段代码不起作用。我所要做的就是放弃用户,但我也无法做到。我的代码出了什么问题?

postgres=# DROP OWNED BY Jason;
ERROR:  role "jason" does not exist
postgres=# \du
                             List of roles
 Role name |                   Attributes                   | Member of 
-----------+------------------------------------------------+-----------
 Jason     | Superuser, Create role, Create DB, Replication | {}
 postgres  | Superuser, Create role, Create DB, Replication | {}

2 个答案:

答案 0 :(得分:9)

区分大小写。

DROP OWNED BY "Jason";

PostgreSQL 区分大小写,它只是小写的不带引号的标识符。保留大小写,“双引号”标识符。

答案 1 :(得分:2)

您应该在删除用户时执行以下操作

首先,应检查并删除用户<{1}}的数据库

owned

接下来可以通过

删除用户的角色
 DROP OWNED By "Jason" ;    // remove database objects owned by a database role