create schema schema1;
授予
testuser
在
schema1
模式创建对象的权限
grant create,usage on schema schema1 to testuser;
查询
testuser
的
schema
权限
with t as (select nspname "schema",
(aclexplode(nspacl)).grantee,
(aclexplode(nspacl)).privilege_type
from pg_namespace)
select t.schema,ro.rolname,t.privilege_type,
'revoke '||t.privilege_type||' on schema '||t.schema||' from '||ro.rolname||';' as revoke_sql
from t
inner join pg_roles ro on ro.oid=t.grantee
where ro.rolname='testuser';
3
、
table
权限
创建
public.t1
表
create table public.t1 (id int);
授予
testuser
对
public.t1
的增删改查权限
grant select,insert,update,delete on table public.t1 to testuser;
查询
testuser
的
table
权限
with t as (
select na.nspname "schema",cl.relname,
(aclexplode(relacl)).grantee,
(aclexplode(relacl)).privilege_type
from pg_class cl
inner join pg_namespace na on na.oid=cl.relnamespace
where cl.relkind in ('r','f'))
select t.schema,t.relname,ro.rolname,t.privilege_type,
'revoke '||t.privilege_type||' on table '||t.schema||'.'||t.relname||' from '||ro.rolname||';' as revoke_sql
from t
inner join pg_roles ro on ro.oid=t.grantee
where ro.rolname='testuser';
4
、
table column
权限
评论