CREATE REDACTION POLICY

Function

CREATE REDACTION POLICY creates a data redaction policy for a table.

Precautions

Syntax

1
2
3
CREATE REDACTION POLICY policy_name ON table_name
    [ WHEN (when_expression) ]
    [ ADD COLUMN column_name WITH redaction_function_name ( [ argument [, ...] ] )] [, ... ];

Parameter Description

Examples

Create a table object emp as user alice, and insert data into the table.

1
2
CREATE TABLE emp(id int, name varchar(20), salary NUMERIC(10,2));
INSERT INTO emp VALUES(1, 'July', 1230.10), (2, 'David', 999.99);

Create a redaction policy mask_emp for the emp table as user alice to make the salary column invisible to user matu.

1
CREATE REDACTION POLICY mask_emp ON emp WHEN(current_user = 'matu') ADD COLUMN salary WITH mask_full(salary);

Grant the SELECT permission on the emp table to user matu as user alice.

1
GRANT SELECT ON emp TO matu;

Switch to user matu.

1
SET ROLE matu PASSWORD '{password}';

Query the emp table. Data in the salary column has been redacted.

1
SELECT * FROM emp;

Helpful Links

ALTER REDACTION POLICY, DROP REDACTION POLICY