Re: [EXT]: Re: BUG #18604: Regression in PostgreSQL 16.4: pg_dump Prevents Essential System Table Modifications
Christophe Pettus <xof@thebuild.com>
From: Christophe Pettus <xof@thebuild.com>
To: Basha <Basha@maxcontact.com>
Cc: PostgreSQL Bug List <pgsql-bugs@lists.postgresql.org>
Date: 2024-09-06T21:24:36Z
Lists: pgsql-bugs
On Sep 6, 2024, at 13:46, Basha <Basha@maxcontact.com> wrote: > Step 2: > ALTER TABLE pg_catalog.pg_database RENAME TO pg_database_catalog; > > > ALTER TABLE pg_catalog.pg_database_catalog > OWNER TO postgres; > > Step3: > > CREATE OR REPLACE VIEW pg_catalog.pg_database > AS > SELECT oid, > datname, > datdba, > encoding, > datlocprovider, > datistemplate, > datallowconn, > datconnlimit, > datfrozenxid, > datminmxid, > dattablespace, > datcollate, > datctype, > daticulocale, > daticurules, > datcollversion, > datacl, > 1262::oid AS tableoid > FROM pg_database_catalog > WHERE 1 = 1 AND has_database_privilege(oid, 'connect'::text); > > > ALTER TABLE pg_catalog.pg_database > OWNER TO postgres; You've really stepped outside what is considered supported behavior here. That it worked at all was more accidental than a documented and supported feature. Shadowing system catalogs with views *is* going to break things, and that `allow_system_table_mods` has that potential is documented. I'm sure this is frustrating, but it's extremely unlikely that this will be considered a regression worth undoing a security fix for.