Summary
Reconciling a Role against an AWS RDS PostgreSQL instance fails with:
SQL Error [42501]: ERROR: permission denied for table pg_authid
Cause
The operator reads role state directly from the pg_authid catalog. On AWS RDS,
SELECT on pg_authid is revoked from every role — including the master
user and rds_superuser. The very first read (roleExists) therefore fails
before any role can be created or updated, so the operator is unusable on RDS.
The same restriction applies to any non-superuser role on vanilla PostgreSQL,
since pg_authid is superuser-only by default.
Impact
Role resources never reconcile on RDS; they error out immediately.
- Affects all role operations (existence, login/flags/membership checks, and
password verification).
Expected behaviour
The operator should reconcile Role resources on RDS (and as any non-superuser)
without requiring SELECT on pg_authid.
Environment
- PostgreSQL: AWS RDS
- Operator: v0.6.0
Summary
Reconciling a
Roleagainst an AWS RDS PostgreSQL instance fails with:SQL Error [42501]: ERROR: permission denied for table pg_authid
Cause
The operator reads role state directly from the
pg_authidcatalog. On AWS RDS,SELECTonpg_authidis revoked from every role — including the masteruser and
rds_superuser. The very first read (roleExists) therefore failsbefore any role can be created or updated, so the operator is unusable on RDS.
The same restriction applies to any non-superuser role on vanilla PostgreSQL,
since
pg_authidis superuser-only by default.Impact
Roleresources never reconcile on RDS; they error out immediately.password verification).
Expected behaviour
The operator should reconcile
Roleresources on RDS (and as any non-superuser)without requiring
SELECTonpg_authid.Environment