Skip to content

Instantly share code, notes, and snippets.

@faun
Forked from winebarrel/pg_show_grants.sql
Created July 16, 2025 19:02
Show Gist options
  • Save faun/f380dcc2635192587b2fe2d76ff235e9 to your computer and use it in GitHub Desktop.
Save faun/f380dcc2635192587b2fe2d76ff235e9 to your computer and use it in GitHub Desktop.
show grants for PostgreSQL
select
pg_user.usename,
t1.nspname,
t1.relname,
relacl.privilege_type,
relacl.is_grantable
from (
select
pg_namespace.nspname,
pg_class.relname,
coalesce(pg_class.relacl, ('{' || pg_user.usename || '=arwdDxt/' || pg_user.usename || '}')::aclitem[]) as relacl
from
pg_class
inner join pg_namespace on pg_class.relnamespace = pg_namespace.oid
inner join pg_user on pg_class.relowner = pg_user.usesysid
where
pg_namespace.nspname !~ '^pg_'
and pg_namespace.nspname != 'information_schema'
) as t1
cross join aclexplode(t1.relacl) as relacl
inner join pg_user on relacl.grantee = pg_user.usesysid
order by
pg_user.usename,
t1.nspname,
t1.relname,
relacl.privilege_type
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment