supautils
Overview
| Package | Version | Category | License | Language |
|---|---|---|---|---|
supautils | 3.2.1 | SEC | Apache-2.0 | C |
| ID | Extension | Bin | Lib | Load | Create | Trust | Reloc | Schema |
|---|---|---|---|---|---|---|---|---|
| 7010 | supautils | No | Yes | Yes | No | No | No | - |
Version
| Type | Repo | Version | PG Ver | Package | Deps |
|---|---|---|---|---|---|
| EXT | PIGSTY | 3.2.1 | 1817161514 | supautils | - |
| RPM | PIGSTY | 3.2.1 | 1817161514 | supautils_$v | - |
| DEB | PIGSTY | 3.2.1 | 1817161514 | postgresql-$v-supautils | - |
Build
You can build the RPM / DEB packages for supautils using pig build:
Install
You can install supautils directly. First, make sure the PGDG and PIGSTY repositories are added and enabled:
Install the extension using pig or apt/yum/dnf:
Preload:
Usage
Sources: README, homepage, releases
supautils is a loadable library that unlocks selected superuser-only PostgreSQL features for non-superusers through configuration. Upstream emphasizes that it adds no tables, functions, or security labels to the database.
Load it
Cluster-wide:
Per role:
Privileged role capabilities
The README documents a privileged proxy role that can create publications, foreign data wrappers, event triggers, and privileged extensions without granting SUPERUSER.
For event triggers, the README says privileged-role triggers run for non-superusers, skip superusers, and also skip reserved roles. It also documents one limitation: those triggers do not fire while creating publications, foreign data wrappers, or extensions.
Important configuration knobs
supautils.superusersupautils.privileged_rolesupautils.privileged_role_allowed_configssupautils.privileged_extensionssupautils.extension_custom_scripts_pathsupautils.constrained_extensionssupautils.extensions_parameter_overridessupautils.policy_grantssupautils.drop_trigger_grantssupautils.reserved_rolessupautils.reserved_membershipssupautils.hint_rolessupautils.log_skipped_evtrigs
Useful examples
Allow a non-superuser to create specific privileged extensions:
Allow a role to manage RLS policies on tables it does not own:
Force an extension into a specific schema on CREATE EXTENSION:
Protect managed-service roles from CREATEROLE users:
Release notes
v3.2.1was released on 2026-04-02 and its published notes are maintenance-oriented; no new user-facing SQL surface is described there.v3.2.0added a hint when aGRANTprivilege is missing.
Caveat
This extension is configuration-driven. When documenting it, prefer the GUCs and behavior guarantees in the README over implying database objects that upstream explicitly says it does not create.
Was this page helpful?
Thanks—your feedback helps us improve this page.
What got in the way? (optional)