Re: pg_dump versus ancient server versions
Tom Lane <tgl@sss.pgh.pa.us>
I wrote:
> Anyway, it seems like there's some consensus that 9.2 is a good
> stopping place for today. I'll push forward with
> (1) back-patching as necessary to make 9.2 and up build cleanly
> on the platforms I have handy;
I've done as much as I plan to do in that direction. As of the
respective branch tips, I see clean builds and check-world
results with minimal configure options in all branches back to 9.2
on Fedora 35 (gcc 11.2.1) and macOS Monterey (Apple clang 13.0.0).
A few notes for the archives' sake:
* As discussed, parallel check-world is unreliable before v10;
perhaps this is worth improving, but I doubt it. I did find
that aggressive parallelism in the build process is fine.
* On some compilers, pre-v10 branches produce this warning:
scan.c: In function 'yy_try_NUL_trans':
scan.c:10189:23: warning: unused variable 'yyg' [-Wunused-variable]
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */
In principle we could back-patch 65d508fd4 to silence that,
but I think that fix is more invasive than what we want to
do in these branches. We lived with that warning for years
before figuring out how to get rid of it, so I think we can
continue to accept it in these branches.
* 9.2's plperl fails to compile on macOS:
./plperl.h:53:10: fatal error: 'EXTERN.h' file not found
#include "EXTERN.h"
This is evidently because 9.2 predates the "sysroot" hacking
we did later (5e2217131 and many many subsequent tweaks).
I judge this not worth the trouble to fix, because the argument
for supporting --with-perl in these branches is basically that
we need a PL with transforms to test pg_dump ... but transforms
didn't come in until 9.5. (Reviewing the commit log, I suppose
that 9.3 and 9.4 would also fail to build in some macOS
configurations, but by the same argument I see no need to work
further on those branches either. 9.5 does have all the
sysroot changes I can find in the log.)
regards, tom lane
Commits
-
Remove psql support for server versions preceding 9.2.
- cf0cab868aa4 15.0 landed
-
Clean up some more freshly-dead code in pg_dump and pg_upgrade.
- c49d926833fa 15.0 landed
-
Remove pg_dump's --no-synchronized-snapshots switch.
- 2a712066d058 15.0 landed
-
Remove pg_upgrade support for upgrading from pre-9.2 servers.
- e469f0aaf3c5 15.0 landed
-
Remove pg_dump/pg_dumpall support for dumping from pre-9.2 servers.
- 30e7c175b81d 15.0 landed
-
Suppress -Warray-bounds warning in 9.2's xlog.c.
- 985c8de212fa 9.2 (unreleased) landed
-
Suppress -Wformat-overflow warnings in 9.2's xml.c.
- 3f9700acb238 9.2 (unreleased) landed
-
Disable -Wsometimes-uninitialized warnings in the 9.2 branch.
- cea316881f1f 9.2 (unreleased) landed
-
Fix function return type confusion
- 468773837bed 9.2 (unreleased) landed
-
Fix compiler warning
- 98274e8fe7a0 9.2 (unreleased) landed
- fcf1f27fe89b 9.3 (unreleased) landed
-
Silence another gcc 11 warning.
- 265b96a96af2 9.2 (unreleased) landed
- a1fe82d98745 9.3 (unreleased) landed
- 0af208402d0a 9.4 (unreleased) landed
-
Suppress uninitialized-variable warning in guc.c.
- 60ca4eec8dc7 9.5 (unreleased) landed
-
Suppress -Warray-parameter warnings in pgcrypto/sha2.c.
- d754ccc1ec9f 9.2 (unreleased) landed
- 6eb7efdf0f74 9.3 (unreleased) landed
- 25c8e5ef077e 9.4 (unreleased) landed
- 0d9b02b33919 9.5 (unreleased) landed
- 116a509e09ac 9.6 (unreleased) landed
-
Reformat imath.c macro to remove -Wmisleading-indentation warnings.
- a86312362da4 9.2 (unreleased) landed
- 9610c7158409 9.3 (unreleased) landed
- 5eb73fc9347d 9.4 (unreleased) landed
- 4cb389a048eb 9.5 (unreleased) landed
- f420f24c0a5d 9.6 (unreleased) landed
- bbbf22cf3351 11.15 landed
- 9d73dac127d8 10.20 landed
-
Clean up compilation warnings coming from PL/Perl with clang-12~
- ebd952f3f453 9.2 (unreleased) landed
- 580261836c11 9.3 (unreleased) landed
- 3fff9b6c1856 9.4 (unreleased) landed
- e51e8fb9f433 9.5 (unreleased) landed
- c16a78147ca1 9.6 (unreleased) landed
-
Make ecpg's rjulmdy() and rmdyjul() agree with their declarations.
- 87671beecf53 9.2 (unreleased) landed
- b30e23fe588b 9.3 (unreleased) landed
- 9ae132dfe373 9.4 (unreleased) landed
-
Use -Wno-format-truncation and -Wno-stringop-truncation, if available.
- 276c017f12fe 9.2 (unreleased) landed
-
Make pg_upgrade's test.sh less chatty.
- a4061eeaf34a 9.2 (unreleased) landed
- 119b9d060e8f 9.3 (unreleased) landed
-
Add checks for valid multibyte character length in UtfToLocal, LocalToUtf.
- 70c64135d0a1 9.2 (unreleased) landed
- 404d987646e3 9.3 (unreleased) landed
-
Use return instead of exit() in configure
- fed9cf2cb9ef 9.2 (unreleased) landed
- f24374bce687 9.3 (unreleased) landed
- 47fca011b88a 9.4 (unreleased) landed
- 1c0cf52b39ca 10.0 cited
-
Add support for Visual Studio 2019 in build scripts
- 2b1394fc2b52 13.0 cited