has_table_privilege(table, privilege)
描述:当前用户是否有访问表的权限。
返回类型:Boolean
备注:has_table_privilege检查用户是否以特定方式访问表。用户可以通过名称或OID(pg_authid.oid)来指定,public表明PUBLIC伪角色,或如果缺省该参数,则使用current_user。该表可以通过名称或者OID声明。如果用名称声明,则在必要时可以用模式进行修饰。如果使用文本字符串来声明所希望的权限类型,这个文本字符串必须是SELECT、INSERT、UPDATE、DELETE、TRUNCATE、REFERENCES、TRIGGER、ALTER、DROP、COMMENT、INDEX或VACUUM之一的值。可以给权限类型添加WITH GRANT OPTION,用来测试权限是否拥有授权选项。也可以用逗号分隔列出的多个权限类型,如果拥有任何所列出的权限,则结果便为true。
示例:
gbase=# SELECT has_table_privilege('public.web_site', 'select');
has_table_privilege
---------------------
t
(1 row)
gbase=# SELECT has_table_privilege('gbase', 'public.web_site', 'select,INSERT WITH GRANT OPTION ');
has_table_privilege
---------------------
t
(1 row)
has_tablespace_privilege(user, tablespace, privilege)
描述:指定用户是否有访问表空间的权限。
返回类型:Boolean
has_tablespace_privilege(tablespace, privilege)
描述:当前用户是否有访问表空间的权限。
返回类型:Boolean
备注:has_tablespace_privilege检查用户是否能以特定方式访问一个表空间。其参数类似has_table_privilege。访问权限类型必须是CREATE、ALTER、DROP或COMMENT之一的值。
pg_has_role(user, role, privilege)
描述:指定用户是否有角色的权限。
返回类型:Boolean




