pg_database_owner 是数据库owner,不能显示赋予, 也不能被赋予。
可以将表授权到该role:
star@star=>alter table tab1 OWNER TO pg_database_owner;
ALTER TABLE
或者
star@star=>SELECT
star-# pg_has_role(‘user01’, ‘pg_database_owner’, ‘USAGE’) as priv,
star-# pg_has_role(‘user01’, ‘pg_database_owner’, ‘MEMBER’) as mem,
star-# pg_has_role(‘user01’, ‘pg_database_owner’,
star(# ‘MEMBER WITH ADMIN OPTION’) as admin;
priv | mem | admin
------±----±------
f | f | f
(1 row)
star@star=>alter database star owner to user01;
ALTER DATABASE
star@star=>SELECT
pg_has_role(‘user01’, ‘pg_database_owner’, ‘USAGE’) as priv,
pg_has_role(‘user01’, ‘pg_database_owner’, ‘MEMBER’) as mem,
pg_has_role(‘user01’, ‘pg_database_owner’,
‘MEMBER WITH ADMIN OPTION’) as admin;
priv | mem | admin
------±----±------
t | t | f
(1 row)