Clean out column-level pg_init_privs entries when dropping tables. DeleteInitPrivs did not get the memo about how, when dropping a whole object (with subid == 0), you should drop entries relating to its sub-objects too. This is visible in the test_pg_dump test case if one drops the extension at the end: the entry for GRANT SELECT(col1) ON regress_pg_dump_table TO public; was still present in pg_init_privs afterwards, although it was pointing to a dangling table OID.
Noted while fooling with a fix for REASSIGN OWNED for pg_init_privs entries. This bug is aboriginal in the pg_init_privs feature though, and there seems no reason not to back-patch the fix. Branch ------ REL_16_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/9cf4beb9e7adf3225c33df256c4e7d54805ec4f8 Modified Files -------------- src/backend/catalog/dependency.c | 21 +++++++++++++++------ .../modules/test_pg_dump/expected/test_pg_dump.out | 7 +++++++ src/test/modules/test_pg_dump/sql/test_pg_dump.sql | 5 +++++ 3 files changed, 27 insertions(+), 6 deletions(-)