On Thu, Feb 22, 2024 at 3:03 PM Daniel Gustafsson <dan...@yesql.se> wrote: > > > On 22 Feb 2024, at 10:16, Peter Eisentraut <pe...@eisentraut.org> wrote: > > > We have somewhat relied on the pg_upgrade test to provide this testing, but > > we have recently discovered that the dumps in binary-upgrade mode are > > different enough to not test the normal dumps well. > > > > Yes, this test is a bit expensive. We could save some time by doing the > > first dump at the end of the normal regress test and have the pg_dump test > > reuse that, but then that would make the regress test run a bit longer. Is > > that a better tradeoff? > > Something this expensive seems like what PG_TEST_EXTRA is intended for, we > already have important test suites there.
That's ok with me. > > But. We know that the cluster has an interesting state when the pg_upgrade > test starts, could we use that to make a dump/restore test before continuing > with testing pg_upgrade? It can be argued that pg_upgrade shouldn't be > responsible for testing pg_dump, but it's already now a pretty important > testcase for pg_dump in binary upgrade mode so it's that far off. If pg_dump > has bugs then pg_upgrade risks subtly breaking. Somebody looking for dump/restore tests wouldn't search src/bin/pg_upgrade, I think. However if more people think we should just add this test 002_pg_upgrade.pl, I am fine with it. > > When upgrading to the same version, we could perhaps also use this to test a > scenario like: Dump A, restore into B, upgrade B into C, dump C and compare C > to A. If comparison of C to A fails, we wouldn't know which step fails. I would rather compare outputs of each step separately. -- Best Wishes, Ashutosh Bapat