Re: Test to dump and restore objects left behind by regression

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>, Peter Eisentraut <peter@eisentraut.org>, Daniel Gustafsson <daniel@yesql.se>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Alvaro Herrera <alvherre@alvh.no-ip.org>
Date: 2024-10-31T22:58:42Z
Lists: pgsql-hackers
On Thu, Oct 31, 2024 at 10:26:01AM -0400, Tom Lane wrote:
> I'd be okay with adding it in a form where the default behavior
> is to do no additional checking.  Whether that's worth maintaining
> is hard to say though.

In terms of maintenance, it would be nice if we are able to minimize
the code added to the pg_upgrade suite, so as it would be simple to
switch this code elsewhere if need be.

I'd imagine a couple of new routines, in the lines of:
- Dump of a database into an output file given in input, as a routine
of Cluster.pm so as it is possible to do dumps from different major
versions.  Format should be defined in input.
- Restore to a database from an input file, also as a routine of
Cluster.pm, for the major version argument.
- Filter of the dumps for the contents where column ordering is
inconsistent up at restore.  In a new module.
- Comparison of two dumps, with potentially filters applied to them,
with diff printed.  In a new module.
--
Michael

Commits

  1. Hide expensive pg_upgrade test behind PG_TEST_EXTRA

  2. Set log_statement=none in t/002_pg_upgrade.pl

  3. 002_pg_upgrade.pl: Move pg_dump test code for better stability

  4. 002_pg_upgrade.pl: rename some variables for clarity

  5. Verify roundtrip dump/restore of regression database

  6. Refactor TAP test code for file comparisons into new routine in Utils.pm

  7. Virtual generated columns

  8. Put generated_stored test objects in a schema

  9. Introduce "builtin" collation provider.

  10. Revert "Improve compression and storage support with inheritance"