Re: pg_dump versus ancient server versions

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andrew Dunstan <andrew@dunslane.net>
Cc: Peter Eisentraut <peter.eisentraut@enterprisedb.com>, Andres Freund <andres@anarazel.de>, Bruce Momjian <bruce@momjian.us>, Robert Haas <robertmhaas@gmail.com>, Alvaro Herrera <alvherre@alvh.no-ip.org>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2021-12-03T18:09:31Z
Lists: pgsql-hackers
Andrew Dunstan <andrew@dunslane.net> writes:
> On 12/3/21 12:10, Tom Lane wrote:
>> I experimented to see what this would entail exactly.  Using
>> current macOS (Apple clang version 13.0.0) on M1 hardware,
>> I built with minimal configure options (--enable-debug --enable-cassert)
>> and ran the core regression tests.  

> I've mentioned my efforts on fedora previously. But like you I used a
> minimal configuration. So what would be reasonable to test? I know you
> mentioned building with perl and python upthread so we could possibly
> test transforms. Anything else? I don't think we need to worry about all
> the authentication-supporting options. XML/XSLT maybe.

Not sure.  I think we should evaluate based on
1. how integral is the option, ie how much PG code can't we test if
   we don't enable it.
2. how stable is the referenced code.

Point 2 makes me want to exclude both Python and OpenSSL, as they've
both proven to be moving API targets.  If we want to have tests for
transform modules, plperl would be sufficient for that, and perl seems
to be a lot more stable than python.  libxml is pretty morib^H^H^Hstable,
but on the other hand it seems quite noncritical for the sorts of tests
we want to run against old servers, so I'd be inclined to exclude it.

Looking through the other configure options, the only one that I find
to be a hard call is --enable-nls.  In theory this shouldn't be
critical for testing pg_dump or psql ... but you never know, and it
hasn't been a stability problem.  Every other one I think we could
ignore for these purposes.  At some point --with-icu might become
interesting, but it isn't yet relevant to any out-of-support
branches, so we can leave that call for another day.

			regards, tom lane



Commits

  1. Remove psql support for server versions preceding 9.2.

  2. Clean up some more freshly-dead code in pg_dump and pg_upgrade.

  3. Remove pg_dump's --no-synchronized-snapshots switch.

  4. Remove pg_upgrade support for upgrading from pre-9.2 servers.

  5. Remove pg_dump/pg_dumpall support for dumping from pre-9.2 servers.

  6. Suppress -Warray-bounds warning in 9.2's xlog.c.

  7. Suppress -Wformat-overflow warnings in 9.2's xml.c.

  8. Disable -Wsometimes-uninitialized warnings in the 9.2 branch.

  9. Fix function return type confusion

  10. Fix compiler warning

  11. Silence another gcc 11 warning.

  12. Suppress uninitialized-variable warning in guc.c.

  13. Suppress -Warray-parameter warnings in pgcrypto/sha2.c.

  14. Reformat imath.c macro to remove -Wmisleading-indentation warnings.

  15. Clean up compilation warnings coming from PL/Perl with clang-12~

  16. Make ecpg's rjulmdy() and rmdyjul() agree with their declarations.

  17. Use -Wno-format-truncation and -Wno-stringop-truncation, if available.

  18. Make pg_upgrade's test.sh less chatty.

  19. Add checks for valid multibyte character length in UtfToLocal, LocalToUtf.

  20. Use return instead of exit() in configure

  21. Add support for Visual Studio 2019 in build scripts