数据仓库服务 GAUSSDB(DWS)-访问权限查询函数:has_table_privilege(table, privilege)

时间:2024-12-24 10:32:44

has_table_privilege(table, privilege)

描述:当前用户是否有访问表的权限。

参数:table可以通过名字(text类型)或者OID来声明。privilege使用文本字符串来声明,该文本字符串可取值SELECT、INSERT、UPDATE、DELETE、TRUNCATE、REFEREN CES 或TRIGGER,也可以用逗号分隔列出的多个权限类型。

返回类型:boolean

备注:has_table_privilege检查用户是否以特定方式访问表。用户可以通过名字或OID(pg_authid.oid)来指定,public表明PUBLIC伪角色,如果缺省该参数,则使用current_user。该表可以通过名字或者OID声明。如果用名字声明,则在必要时可以用模式进行修饰。如果使用文本字符串来声明权限类型,可以给权限类型添加WITH GRANT OPTION,用来测试权限是否拥有授权选项。当有多个权限类型时,拥有任何所列出的权限之一,则结果便为true。

示例:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
SELECT has_table_privilege('tpcds.web_site', 'select');
 has_table_privilege  
--------------------- 
 t 
(1 row)

SELECT has_table_privilege('dbadmin', 'tpcds.web_site', 'select,INSERT WITH GRANT OPTION ');
 has_table_privilege  
--------------------- 
 t 
(1 row) 
support.huaweicloud.com/sqlreference-dws/dws_06_0339.html