All Products
Search
Document Center

PolarDB:ALTER ROLE

Last Updated:Mar 28, 2026

Grants or revokes Oracle-compatible database link and DBMS_RLS privileges for a role.

PolarDB for PostgreSQL (Compatible with Oracle) extends the standard ALTER ROLE SQL command with privilege options that Oracle does not provide natively. Use these options to manage privileges for creating and managing Oracle-compatible database links, and for exempting roles from fine-grained access control (FGAC) policies enforced by DBMS_RLS (the Oracle row-level security package).

CREATE DATABASE LINK

A role that holds the CREATE DATABASE LINK privilege can create a private database link.

To grant the privilege:

ALTER ROLE role_name
    WITH [CREATEDBLINK | CREATE DATABASE LINK]

This is the functional equivalent of:

GRANT CREATE DATABASE LINK TO role_name

To revoke the privilege:

ALTER ROLE role_name
    WITH [NOCREATEDBLINK | NO CREATE DATABASE LINK]
Note The CREATEDBLINK and NOCREATEDBLINK keywords are deprecated. Use CREATE DATABASE LINK and NO CREATE DATABASE LINK instead.

CREATE PUBLIC DATABASE LINK

A role that holds the CREATE PUBLIC DATABASE LINK privilege can create a public database link.

To grant the privilege:

ALTER ROLE role_name
    WITH [CREATEPUBLICDBLINK | CREATE PUBLIC DATABASE LINK]

This is the functional equivalent of:

GRANT CREATE PUBLIC DATABASE LINK TO role_name

To revoke the privilege:

ALTER ROLE role_name
    WITH [NOCREATEPUBLICDBLINK | NO CREATE PUBLIC DATABASE LINK]
Note The CREATEPUBLICDBLINK and NOCREATEPUBLICDBLINK keywords are deprecated. Use CREATE PUBLIC DATABASE LINK and NO CREATE PUBLIC DATABASE LINK instead.

DROP PUBLIC DATABASE LINK

A role that holds the DROP PUBLIC DATABASE LINK privilege can delete a public database link.

To grant the privilege:

ALTER ROLE role_name
    WITH [DROPPUBLICDBLINK | DROP PUBLIC DATABASE LINK]

This is the functional equivalent of:

GRANT DROP PUBLIC DATABASE LINK TO role_name

To revoke the privilege:

ALTER ROLE role_name
    WITH [NODROPPUBLICDBLINK | NO DROP PUBLIC DATABASE LINK]
Note The DROPPUBLICDBLINK and NODROPPUBLICDBLINK keywords are deprecated. Use DROP PUBLIC DATABASE LINK and NO DROP PUBLIC DATABASE LINK instead.

EXEMPT ACCESS POLICY

A role that holds the EXEMPT ACCESS POLICY privilege is exempt from DBMS_RLS policies. Such a role can view or modify any row in a table restricted by a DBMS_RLS policy, regardless of the policy definition.

To grant the privilege:

ALTER ROLE role_name
    WITH [POLICYEXEMPT | EXEMPT ACCESS POLICY]

This is the functional equivalent of:

GRANT EXEMPT ACCESS POLICY TO role_name

To revoke the privilege:

ALTER ROLE role_name
    WITH [NOPOLICYEXEMPT | NO EXEMPT ACCESS POLICY]
Note The POLICYEXEMPT and NOPOLICYEXEMPT keywords are deprecated. Use EXEMPT ACCESS POLICY and NO EXEMPT ACCESS POLICY instead.

See also

CREATE ROLE, DROP ROLE, GRANT, REVOKE