管理 Database Link 和 DBMS_RLS 特权。
PolarDB PostgreSQL版(兼容Oracle)包含 ALTER ROLE 命令的额外语法(Oracle 未提供)。在分配与创建和删除与 Oracle 数据库兼容的 database link 以及细粒度访问控制(使用 DBMS_RLS)相关的特权时,此语法非常有用。
CREATE DATABASE LINK
具有 CREATE DATABASE LINK 特权的用户可以创建私有 database link。以下 ALTER ROLE 命令向角色授予允许指定角色创建私有 database link 的特权:
ALTER ROLE role_name
WITH [CREATEDBLINK | CREATE DATABASE LINK]此命令的功能相当于:
GRANT CREATE DATABASE LINK to role_name使用以下命令可撤销特权:
ALTER ROLE role_name
WITH [NOCREATEDBLINK | NO CREATE DATABASE LINK]CREATEDBLINK 和 NOCREATEDBLINK 关键字将被视为弃用的语法;建议您使用 CREATE DATABASE LINK 和 NO CREATE DATABASE LINK 语法选项。CREATE PUBLIC DATABASE LINK
具有 CREATE PUBLIC DATABASE LINK 特权的用户可以创建公共 database link。以下 ALTER ROLE 命令向 PolarDB PostgreSQL版(兼容Oracle)角色授予允许指定角色创建公共 database link 的特权:
ALTER ROLE role_name
WITH [CREATEPUBLICDBLINK | CREATE PUBLIC DATABASE LINK]此命令的功能相当于:
GRANT CREATE PUBLIC DATABASE LINK to role_name使用以下命令可撤销特权:
ALTER ROLE role_name
WITH [NOCREATEPUBLICDBLINK | NO CREATE PUBLIC DATABASE LINK]CREATEPUBLICDBLINK 和 NOCREATEPUBLICDBLINK 关键字将被视为弃用的语法;建议您使用 CREATE PUBLIC DATABASE LINK 和 NO CREATE PUBLIC DATABASE LINK 语法选项。DROP PUBLIC DATABASE LINK
具有 DROP PUBLIC DATABASE LINK 特权的用户可以删除公共 database link。以下 ALTER ROLE 命令向PolarDB PostgreSQL版(兼容Oracle)角色授予允许指定角色删除公共 database link 的特权:
ALTER ROLE role_name
WITH [DROPPUBLICDBLINK | DROP PUBLIC DATABASE LINK]此命令的功能相当于:
GRANT DROP PUBLIC DATABASE LINK to role_name使用以下命令可撤销特权:
ALTER ROLE role_name
WITH [NODROPPUBLICDBLINK | NO DROP PUBLIC DATABASE LINK]DROPPUBLICDBLINK 和 NODROPPUBLICDBLINK 关键字将被视为弃用的语法;建议您使用 DROP PUBLIC DATABASE LINK 和 NO DROP PUBLIC DATABASE LINK 语法选项。EXEMPT ACCESS POLICY
具有 EXEMPT ACCESS POLICY 特权的用户不受细粒度访问控制(DBMS_RLS)策略的约束。具有这些特权的用户将能够查看或修改受 DBMS_RLS 策略约束的表中的任何行。以下 ALTER ROLE 命令向PolarDB PostgreSQL版(兼容Oracle)角色授予特权以让指定角色不受任何定义的 DBMS_RLS 策略的约束:
ALTER ROLE role_name
WITH [POLICYEXEMPT | EXEMPT ACCESS POLICY]此命令的功能相当于:
GRANT EXEMPT ACCESS POLICY TO role_name使用以下命令可撤销特权:
ALTER ROLE role_name
WITH [NOPOLICYEXEMPT | NO EXEMPT ACCESS POLICY]POLICYEXEMPT 和 NOPOLICYEXEMPT 关键字将被视为弃用的语法;建议您使用 EXEMPT ACCESS POLICY 和 NO EXEMPT ACCESS POLICY 语法选项。