pgsql: Skip SUBSCRIPTION TABLE TOC entries with --no-subscriptions. - Mailing list pgsql-committers

From Amit Kapila
Subject pgsql: Skip SUBSCRIPTION TABLE TOC entries with --no-subscriptions.
Date
Msg-id E1wpKIS-00000000ue5-0Z1J@gemulon.postgresql.org
Whole thread
List pgsql-committers
Skip SUBSCRIPTION TABLE TOC entries with --no-subscriptions.

pg_dump in --binary-upgrade mode emits "SUBSCRIPTION TABLE" TOC entries to
preserve pg_subscription_rel state across pg_upgrade.  When such a dump
was restored with --no-subscriptions, _tocEntryRequired() skipped the
"SUBSCRIPTION" entry but not the associated "SUBSCRIPTION TABLE" entries,
so the restore would try to apply subscription-relation state for a
subscription that was never created.

Skip "SUBSCRIPTION TABLE" entries as well when no_subscriptions is set.

This can happen when pg_subscription_rel has entries, the dump is taken
with --binary-upgrade, and it is restored with --no-subscriptions.

Reported-by: Hayato Kuroda <kuroda.hayato@fujitsu.com>
Author: Hayato Kuroda <kuroda.hayato@fujitsu.com>
Reviewed-by: Shlok Kyal <shlok.kyal.oss@gmail.com>
Reviewed-by: Amit Kapila <amit.kapila16@gmail.com>
Backpatch-through: 17, where it was introduced
Discussion: https://postgr.es/m/OS9PR01MB121493DA4C1A7748B11A646D8F5C02@OS9PR01MB12149.jpnprd01.prod.outlook.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/02decf9a9abc76f04a8117aba524dbe561cb720e

Modified Files
--------------
src/bin/pg_dump/pg_backup_archiver.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)


pgsql-committers by date:

Previous
From: Daniel Gustafsson
Date:
Subject: pgsql: doc: Add a note that refint will be removed in v20
Next
From: Daniel Gustafsson
Date:
Subject: pgsql: Make sure to detach injection points for re-attaching