Robert Haas <robertmh...@gmail.com> writes: > Another thing to think about in that regard: how likely is that > PostgreSQL 7.4 and PostgreSQL 15 both compile and run on the same > operating system? I suspect the answer is "not very." I seem to recall > Greg Stark trying to compile really old versions of PostgreSQL for a > conference talk some years ago, and he got back to a point where it > just became impossible to make work on modern toolchains even with a > decent amount of hackery.
Right. The toolchains keep moving, even if the official language definition doesn't. For grins, I just checked out REL8_4_STABLE on my M1 Mac, and found that it only gets this far: checking test program... ok checking whether long int is 64 bits... no checking whether long long int is 64 bits... no configure: error: Cannot find a working 64-bit integer type. which turns out to be down to a configure-script issue we fixed some years ago, ie using exit() without a prototype: conftest.c:158:3: error: implicitly declaring library function 'exit' with type\ 'void (int) __attribute__((noreturn))' [-Werror,-Wimplicit-function-declaratio\ n] exit(! does_int64_work()); ^ I notice that the configure script is also selecting some warning switches that this compiler doesn't much like, plus it doesn't believe 2.6.x flex is usable. So that's *at least* three things that'd have to be hacked even to get to a successful configure run. Individually such issues are (usually) not very painful, but when you have to recreate all of them at once it's a daunting project. So if I had to rebuild 8.4 from scratch right now, I would not be a happy camper. That seems like a good argument for not deeming it to be something we still have to support. regards, tom lane