ACCESS_POLICY
Provides information about existing access policies.
Provides information about existing access policies.
Column Name | Data Type | Description |
---|---|---|
ACCESS_POLICY_OID | INTEGER | The unique identifier for the access policy. |
TABLE_NAME | VARCHAR | Name of the table specified in the access policy. |
IS_POLICY_ENABLED | BOOLEAN | Whether the access policy is enabled. |
POLICY_TYPE | VARCHAR |
The type of access policy assigned to the table:
|
EXPRESSION | VARCHAR | The expression used when creating the access policy. |
COLUMN_NAME | VARCHAR | The column to which the access policy is assigned. Row policies apply to all columns in the table. |
TRUST_GRANTS | BOOLEAN | If true, GRANT statements override the access policy when determining whether a user can perform DML operations on the column or row. |
Privileges
By default, only the superuser can view this table. Superusers can grant non-superusers access to this table with the following statement. Non-superusers can only see rows for tables that they own:
=> GRANT SELECT ON access_policy TO PUBLIC
Examples
The following query returns all access policies on table public.customer_dimension
:
=> \x
=> SELECT policy_type, is_policy_enabled, table_name, column_name, expression FROM access_policy WHERE table_name = 'public.customer_dimension';
-[ RECORD 1 ]-----+----------------------------------------------------------------------------------------
policy_type | Column Policy
is_policy_enabled | Enabled
table_name | public.customer_dimension
column_name | customer_address
expression | CASE WHEN enabled_role('administrator') THEN customer_address ELSE '**************' END