From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | pgsql: Un-break pg_upgrade from pre-v12 servers. |
Date: | 2020-07-07 22:10:56 |
Message-ID: | E1jsvnk-0006d9-OD@gemulon.postgresql.org |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Un-break pg_upgrade from pre-v12 servers.
I neglected to test this scenario while preparing commit f3faf35f3,
so of course it was broken, thanks to some very obscure and undocumented
code in pg_dump. Pre-v12 databases might have toast tables attached to
partitioned tables, which we need to ignore since newer servers never
create such useless toast tables. There was a filter for this case in
binary_upgrade_set_type_oids_by_rel_oid(), which appeared to just
prevent the pg_type OID from being copied. But actually it managed to
prevent the toast table from being created at all --- or it did before
I took out that logic. But that was a fundamentally bizarre place to be
making the test in the first place. The place where the filter should
have been, one would think, is binary_upgrade_set_pg_class_oids(), so
add it there.
While at it, reorganize binary_upgrade_set_pg_class_oids() so that it
doesn't make a completely useless query when it knows it's being
invoked for an index. And correct a comment that mis-described the
scenario where we need to force creation of a TOAST table.
Per buildfarm.
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/3f96af4619c8b129ec8d5f4fb961df4310999383
Modified Files
--------------
src/bin/pg_dump/pg_dump.c | 75 +++++++++++++++++++++++++++--------------------
1 file changed, 44 insertions(+), 31 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Paquier | 2020-07-08 01:42:41 | pgsql: doc: Fix inconsistencies in GIN, BRIN and SP-GiST for optional o |
Previous Message | Tom Lane | 2020-07-07 19:43:37 | pgsql: Don't create pg_type entries for sequences or toast tables. |