Re: pg_dump versus ancient server versions
Tom Lane <tgl@sss.pgh.pa.us>
Peter Eisentraut <peter.eisentraut@enterprisedb.com> writes: > On 02.12.21 23:16, Andres Freund wrote: >> I realize it's more complicated for users, but a policy based on supporting a >> certain number of out-of-support branches calculated from the newest major >> version is more realistic. I'd personally go for something like newest-major - >> 7 (i.e. 2 extra releases), but I realize that others think it's worthwhile to >> support a few more. I think there's a considerable advantage of having one >> cutoff date across all branches. > I'm not sure it will be clear what this would actually mean. Assume > PG11 supports back to 9.4 (14-7) now, but when PG15 comes out, we drop > 9.4 support. But the PG11 code hasn't changed, and PG9.4 hasn't changed, > so it will most likely still work. Then we have messaging that is out > of sync with reality. I can see the advantage of this approach, but the > communication around it might have to be refined. I don't find this suggestion to be an improvement over Peter's original formulation, for two reasons: * I'm not convinced that it saves us any actual work; as you say, the code doesn't stop working just because we declare it out-of-support. * There's a real-world use-case underneath here. If somewhere you've discovered a decades-old server that you need to upgrade, and current pg_dump won't dump from it, you would like it to be well-defined which intermediate pg_dump versions you can use. So if 10.19 can dump from that hoary server, it would not be nice if 10.20 can't; nor if the documentation lies to you about that based on which minor version you happen to consult. >> I think we should explicitly limit the number of platforms we care about for >> this purpose. I don't think we should even try to keep 8.2 compile on AIX or >> whatnot. > It's meant to be developer-facing, so only for platforms that developers > use. I think that can police itself, if we define it that way. I agree that if you care about doing this sort of test on platform X, it's up to you to patch for that. I think Andres' concern is about the amount of committer bandwidth that might be needed to handle such patches submitted by non-committers. However, based on the experiment I just ran, I think it's not really likely to be a big deal: there are not that many problems, and most of them just amount to back-patching something that originally wasn't back-patched. What's most likely to happen IMO is that committers will just start back-patching essential portability fixes into out-of-support-but- still-in-the-buildability-window branches, contemporaneously with the original fix. Yeah, that does mean more committer effort, but only for a very small number of patches. 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