Re: pg15b2: large objects lost on upgrade
Jonathan S. Katz <jkatz@postgresql.org>
From: "Jonathan S. Katz" <jkatz@postgresql.org>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Robert Haas <robertmhaas@gmail.com>, Noah Misch <noah@leadboat.com>,
Andrew Dunstan <andrew@dunslane.net>, Bruce Momjian <bruce@momjian.us>,
Michael Paquier <michael@paquier.xyz>, Justin Pryzby <pryzby@telsasoft.com>,
"pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>,
Shruthi Gowda <gowdashru@gmail.com>
Date: 2022-08-02T20:20:25Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Revert recent changes to 002_pg_upgrade.pl.
- 6f7e7d0c482d 15.0 landed
- 87e22f675fd8 16.0 landed
-
Revise test case added in 43746996399541ecb5c7b188725a5f097c15ceae.
- d92f2bc0dae3 15.0 landed
- 212bdc0cbc32 16.0 landed
-
Use TRUNCATE to preserve relfilenode for pg_largeobject + index.
- bbe08b8869bd 16.0 landed
- 4ab5dae9472c 15.0 landed
-
Preserve relfilenode of pg_largeobject and its index across pg_upgrade.
- a2996478c32d 15.0 landed
- d498e052b4b8 16.0 landed
-
Have VACUUM warn on relfrozenxid "in the future".
- e83ebfe6d767 15.0 cited
-
Set relfrozenxid to oldest extant XID seen by VACUUM.
- 0b018fabaaba 15.0 cited
-
pg_upgrade: Preserve relfilenodes and tablespace OIDs.
- 9a974cbcba00 15.0 cited
-
Perform a lot more sanity checks when freezing tuples.
- 699bf7d05c68 11.0 cited
On 8/2/22 3:51 PM, Tom Lane wrote: > "Jonathan S. Katz" <jkatz@postgresql.org> writes: >> On 8/2/22 3:39 PM, Tom Lane wrote: >>>> I am not in favor of disabling autovacuum in the test: ordinary >>>> users are not going to do that while pg_upgrade'ing, so it'd make >>>> the test less representative of real-world usage, which seems like >>>> a bad idea. We could either drop this particular check again, or >>>> weaken it to allow new relfrozenxid >= old relfrozenxid, likewise >>>> relminxid. > >> The test does look helpful and it would catch regressions. Loosely >> quoting Robert on a different point upthread, we don't want to turn off >> the alarm just because it's spuriously going off. >> I think the weakened check is OK (and possibly mimics the real-world >> where autovacuum runs), unless you see a major drawback to it? > > I also think that ">=" is a sufficient requirement. It'd be a > bit painful to test if we had to cope with potential XID wraparound, > but we know that these installations haven't been around nearly > long enough for that, so a plain ">=" test ought to be good enough. > (Replacing the simple "eq" code with something that can handle that > doesn't look like much fun, though.) ...if these systems are hitting XID wraparound, we have another issue to worry about. I started modifying the test to support this behavior, but thought that because 1. we want to ensure the OID is still equal and 2. in the examples you showed, both relfrozenxid or relminxid could increment, we may want to have the individual checks on each column. I may be able to conjure something up that does the above, but it's been a minute since I wrote anything in Perl. Jonathan