没有 drop table 权限的 Postgresql 角色
Postgresql role with no drop table permision
是否可以将角色设置为可以访问一个数据库,并具有除删除表之外的所有权限?
不是真的。如果用户可以发出 CREATE TABLE,它也可以为 table 发出 DROP。来自 the docs:
The right to drop an object, or to alter its definition in any way, is not treated as a grantable privilege; it is inherent in the owner, and cannot be granted or revoked.
正如 CREATE TABLE docs 指出的那样:
The table will be owned by the user issuing the command.
没有允许用户创建他们不拥有因此不能删除的 tables 的机制。
是否可以将角色设置为可以访问一个数据库,并具有除删除表之外的所有权限?
不是真的。如果用户可以发出 CREATE TABLE,它也可以为 table 发出 DROP。来自 the docs:
The right to drop an object, or to alter its definition in any way, is not treated as a grantable privilege; it is inherent in the owner, and cannot be granted or revoked.
正如 CREATE TABLE docs 指出的那样:
The table will be owned by the user issuing the command.
没有允许用户创建他们不拥有因此不能删除的 tables 的机制。