有角色sequence_owner。这是仅处理序列的特殊技术角色。
create role sequence_owner;
GRANT sequence_owner TO administrator;
GRANT USAGE, SELECT, UPDATE ON ALL SEQUENCES IN SCHEMA schema1 TO sequence_owner;
还有几个具有角色的用户administrator
:user1,...user42
GRANT administrator TO user1;
GRANT administrator TO user42;
使用 user1 我可以创建序列:
create sequence schema1.test_sequence;
但我不能将所有者更改为特殊sequence_owner
角色
alter sequence schema1.test_sequence owner to sequence_owner;
出现错误:错误:架构 schema1 的权限被拒绝
我不会使用:
GRANT CREATE, USAGE ON SCHEMA schema1 to sequence_owner
因为在这种情况下,这个角色sequence_owner
将拥有比它必须拥有的更多的特权。