Peter Eisentraut <peter_e@gmx.net> writes:
> Keeping a separate file for each version may lead to a lot of duplicate
> code being necessary and hard to maintain.
Peter has a good point: you'll almost certainly end up with lots of
duplicate code to maintain if you try to split at the file level.
"If"s seem to work well enough in pg_dump.
Another potential objection to the scheme as you proposed it is that
any given instance of pgaccess could only talk to one backend version.
I dunno whether pgaccess supports multiple connections now or might
do so in the future --- but if that's of interest, adapting to backend
version on-the-fly is a lot better than loading different versions of
support code at startup.
regards, tom lane