GreenPlum 默认权限修改

2023-03-28 00:00:00 修改 函数 专区 默认 权限

修改默认权限
GP中的表默认是只有表的拥有者有表的所有权限,其他人没有任何权限。一般情况下,建成表后,需要默认公开表的select权限,这时我们可以更改表的默认权限;

--比如对于tjbb1下的表
alter default privileges for role tjbb1 grant select on tables to public;
--或者直接对修改schema默认权限
alter default privileges in schema tjbb1 grant select on tables to public;

GP中的函数默认是公开execute权限,也就是函数创建好后,任何用户都能进行调用;这可能不是我们想要的;于是,我们可以修改函数的默认权限;

--比如对于tjbb1下的函数
alter default privileges for role tjbb1 revoke execute on functions from public;
--或者修改schema默认权限
alter default privileges in schema tjbb1 revoke execute on functions from public;

查看自定义的默认权限
psql客户端

etl=> \ddp

sql查询

SELECT pg_catalog.pg_get_userbyid(d.defaclrole) AS "Owner",
n.nspname AS "Schema",
CASE d.defaclobjtype WHEN 'r' THEN 'table' WHEN 'S' THEN 'sequence' WHEN 'f' THEN 'function' WHEN 'T' THEN 'type' END AS "Type",
pg_catalog.array_to_string(d.defaclacl, E'\n') AS "Access privileges"
FROM pg_catalog.pg_default_acl d
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = d.defaclnamespace
ORDER BY 1, 2, 3;

参考
Greenplum数据库 v6.0 中文文档:ALTER DEFAULT PRIVILEGES


本文来源:https://blog.csdn.net/qq_33445829/article/details/121954797

相关文章