Stephen Frost wrote: > One other point is that pg_dump goes quite a bit farther back than just > what we currently support (or at least, it tries to). I think that, > generally, that's a good thing, but it does mean we have a lot of cases > that don't get tested nearly as much... > > I was able to get back to 7.4 up and running without too much trouble, > but even that doesn't cover all the cases we have in pg_dump. I'm not > sure if we want to define a "we will support pg_dump back to X" cut-off > or if we want to try and get older versions to run on modern systems, > but it's definitely worth pointing out that we're trying to support much > farther back than what is currently supported in pg_dump today.
Yeah. Trying to compile old stuff with current tools (Debian jessie): 7.0's configure does not recognize my system: checking host system type... Invalid configuration `x86_64-unknown-linux-gnu': machine `x86_64-unknown' not recognized 7.1's configure fails for accept() detection: checking types of arguments for accept()... configure: error: could not determine argument types 7.2's configure works, but apparently it failed to find flex: make[3]: Entering directory '/home/alvherre/Code/pgsql/source/throwaway/src/backend/bootstrap' *** ERROR: `flex' is missing on your system. It is needed to create the file `bootscanner.c'. You can either get flex from a GNU mirror site or download an official distribution of PostgreSQL, which contains pre-packaged flex output. *** Makefile:60: recipe for target 'bootscanner.c' failed make[3]: *** [bootscanner.c] Error 1 7.3 fails in ecpg preprocessor: make[4]: Entering directory '/home/alvherre/Code/pgsql/source/throwaway/src/interfaces/ecpg/preproc' make -C ../../../../src/port all make[5]: Entering directory '/home/alvherre/Code/pgsql/source/throwaway/src/port' make[5]: Nothing to be done for 'all'. make[5]: Leaving directory '/home/alvherre/Code/pgsql/source/throwaway/src/port' gcc -O2 -fno-strict-aliasing -Wall -Wmissing-prototypes -Wmissing-declarations -Wno-error -I./../include -I. -I../../../../src/include -DMAJOR_VERSION=2 -DMINOR_VERSION=10 -DPATCHLEVEL=0 -DINCLUDE_PATH=\"/usr/local/pgsql/include\" -c -o preproc.o preproc.c In file included from preproc.y:5571:0: pgc.c:170:18: error: conflicting types for ‘yyleng’ extern yy_size_t yyleng; ^ In file included from preproc.y:7:0: extern.h:32:4: note: previous declaration of ‘yyleng’ was here yyleng; ^ In file included from preproc.y:5571:0: pgc.c:304:11: error: conflicting types for ‘yyleng’ yy_size_t yyleng; ^ In file included from preproc.y:7:0: extern.h:32:4: note: previous declaration of ‘yyleng’ was here yyleng; ^ In file included from preproc.y:5571:0: pgc.c:2723:16: warning: ‘input’ defined but not used [-Wunused-function] static int input (void) ^ <builtin>: recipe for target 'preproc.o' failed make[4]: *** [preproc.o] Error 1 7.4 seems to work fine. I suppose it should be fine to remove pg_dump's support for pre-7.3; people wanting to upgrade from before 7.3 (if any) could use 9.6's pg_dump as an intermediate jump. -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers