On Tue, 2003-10-21 at 00:08, Tom Lane wrote:
> 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.
There is always the biggest evil of all... Putting SHOW / DESCRIBE /
HELP commands into the backend itself. I'm sure the pgAdmin group likes
that idea (they're probably tired of maintaining 4 different versions of
queries for getting a list of tables). Any solution to make psql
backward or forward compatible should go an additional step to assist
other frontends as well.