acl
ACL Data type
Overview
| Package | Version | Category | License | Language |
|---|---|---|---|---|
pg_acl | 1.0.4 | TYPE | BSD-2-Clause | C |
| ID | Extension | Bin | Lib | Load | Create | Trust | Reloc | Schema |
|---|---|---|---|---|---|---|---|---|
| 3810 | acl | No | Yes | No | Yes | No | Yes | - |
| Related | pgaudit pg_permissions set_user pg_roast table_log pgmemento pg_auditor pgelog pg_auth_mon pg_readonly |
|---|
+cast pg_uuid_t
Version
| Type | Repo | Version | PG Ver | Package | Deps |
|---|---|---|---|---|---|
| EXT | PIGSTY | 1.0.4 | 1817161514 | pg_acl | - |
| RPM | PIGSTY | 1.0.4 | 1817161514 | acl_$v | - |
| DEB | PIGSTY | 1.0.4 | 1817161514 | postgresql-$v-acl | - |
Build
You can build the RPM / DEB packages for pg_acl using pig build:
Install
You can install pg_acl directly. First, make sure the PGDG and PIGSTY repositories are added and enabled:
Install the extension using pig or apt/yum/dnf:
Install
pig
dnf
apt
Create Extension:
Usage
The acl extension provides Access Control List types for row-level security based on application users, without requiring separate database accounts.
Data Types
ace: Standard role-based ACE using PostgreSQL OIDsace_int4: ACE with 32-bit integer identifiersace_int8: ACE with 64-bit integer identifiersace_uuid: ACE with UUID identifiers
ACLs are stored as PostgreSQL arrays of ACE types (e.g., ace[]).
ACE Format
- Type:
a(allow) ord(deny) - Flags:
i(inherit only),o(object inherit),c(container inherit),p(no propagate),h(inherited) - Who: Role name, OID, integer, UUID, or
""(everyone) - Permissions:
r(read),w(write),d(delete),c(read ACL),s(write ACL), plus 16 custom permissions (0-F)
Checking Permissions
ACL Inheritance
Row-Level Security Example
Was this page helpful?
Thanks—your feedback helps us improve this page.
What got in the way? (optional)