Re: pg_dump versus ancient server versions
Robert Haas <robertmhaas@gmail.com>
On Mon, Oct 25, 2021 at 10:23 AM Tom Lane <tgl@sss.pgh.pa.us> wrote: > What concerns me here is that we not get into a position where we're > effectively still maintaining EOL'd versions. Looking at the git > history yesterday reminded me that we had such a situation back in > the early 7.x days. I can see that I still occasionally made commits > into 7.1 and 7.2 years after the last releases of those branches, > which ended up being a complete waste of effort. There was no policy > guiding what to back-patch into what branches, partly because we > didn't have a defined EOL policy then. So I want to have a policy > (and a pretty tight one) before I'll go back to doing that. > > Roughly speaking, I think the policy should be "no feature bug fixes, > not even security fixes, for EOL'd branches; only fixes that are > minimally necessary to make it build on newer platforms". And > I want to have a sunset provision even for that. Fixing every branch > forevermore doesn't scale. Sure, but you can ameliorate that a lot by just saying it's something people have the *option* to do, not something anybody is *expected* to do. I agree it's best if we continue to discourage back-patching bug fixes into supported branches, but I also think we don't need to be too stringent about this. What I think we don't want is, for example, somebody working at company X deciding to back-patch all the bug fixes that customers of company X cares about into our back-branches, but not the other ones. But on the other hand if somebody is trying to benchmark or test compatibility an old branch and it keeps crashing because of some bug, telling them that they're not allowed to fix that bug because it's not a sufficiently-minimal change to a dead branch is kind of ridiculous. In other words, if you try to police every change anyone wants to make, e.g. "well I know that would help YOU build on a newer platform but it doesn't seem like it meets the criteria of the minimum necessary change to make it build on a newer platform," then you might as well just give up now. Nobody cares about the older branches enough to put work into fixing whatever's wrong and then having to argue about whether that work ought to be thrown away anyway. > There's also the question of how we get to a working state in the > first place -- as we found upthread, there's a fair-sized amount > of work to do just to restore buildability right now, for anything > that was EOL'd more than a year or two back. I'm not volunteering > for that, but somebody would have to to get things off the ground. Right. > Also, I concur with Andrew's point that we'd really have to have > buildfarm support. However, this might not be as bad as it seems. > In principle we might just need to add resurrected branches back to > the branches_to_build list. Given my view of what the back-patching > policy ought to be, a new build in an old branch might only be > required a couple of times a year, which would not be an undue > investment of buildfarm resources. (Hmmm ... but disk space could > become a problem, particularly on older machines with not so much > disk. Do we really need to maintain a separate checkout for each > branch? It seems like a fresh checkout from the repo would be > little more expensive than the current copy-a-checkout process.) I suppose it would be useful if we had the ability to do new runs only when the source code has changed... -- Robert Haas EDB: http://www.enterprisedb.com
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