Christopher Kings-Lynne <chriskl@familyhealth.com.au> writes:
> It had occurred to me that we could move support for each version of the
> backend into a shared lib.
> eg. libpsql70.so, libpsql71.so, etc.
> Then all we do is load the appropriate lib and call functions in it. To
> support a newer version of postgres, you just need to drop in the latest
> .so or something.
It doesn't strike me that that actually buys you anything, except
perhaps guaranteeing that psql cannot function on shared-lib-less
platforms. The clear facts at the moment are that an older psql
cannot be promised to have full functionality with newer backends.
Saying "well it'll work if you install a newer shared library" does
not buy a thing that I can see --- it's no more effort to install
a whole new psql, is it?
Rod's ideas about pushing psql functionality out to the backend
(via special views etc) could ameliorate the forward-compatibility
problem to some extent. But we usually find ourselves fixing psql
in more places than describe.c for each release, so I'm not convinced
there's a full solution available in that direction either.
regards, tom lane