Idea - fallback mode for psql backslash commands using information_schema

Started by Dawid Kuroczkoabout 17 years ago2 messages
#1Dawid Kuroczko
qnex42@gmail.com

Hi!

I think I've got a nice TODO item for psql client:

When a client connects to a database which has unknown (newer)
version it might be advisable to 'fallback' some commands to use
INFORMATION_SCHEMA instead of system catalogs.

For instance when connected to 8.4dev server using 8.3 client,
after issuing \d foo_table you get:
ERROR: column "reltriggers" does not exist
LINE1: SELECT relhasindex, relkind, relchecks, reltriggers, relhasr....

Of course the information_schema will probably be less efficient
and won't have PostgreSQL-specific items like 'Has OIDs', but
the user experience should be better.

My question is: does it look like a good TODO item? :)

Best regards,
Dawid
--
.................. ``The essence of real creativity is a certain
: *Dawid Kuroczko* : playfulness, a flitting from idea to idea
: qnex42@gmail.com : without getting bogged down by fixated demands.''
`..................' Sherkaner Underhill, A Deepness in the Sky, V. Vinge

#2Bruce Momjian
bruce@momjian.us
In reply to: Dawid Kuroczko (#1)
Re: Idea - fallback mode for psql backslash commands using information_schema

Dawid Kuroczko wrote:

Hi!

I think I've got a nice TODO item for psql client:

When a client connects to a database which has unknown (newer)
version it might be advisable to 'fallback' some commands to use
INFORMATION_SCHEMA instead of system catalogs.

For instance when connected to 8.4dev server using 8.3 client,
after issuing \d foo_table you get:
ERROR: column "reltriggers" does not exist
LINE1: SELECT relhasindex, relkind, relchecks, reltriggers, relhasr....

Of course the information_schema will probably be less efficient
and won't have PostgreSQL-specific items like 'Has OIDs', but
the user experience should be better.

My question is: does it look like a good TODO item? :)

That seems like duplicate effort. The clearer solution would just be to
use information_scema where possible for all psql backslash commands so
you don't have to maintain two versions. I think the problem is that
lots of information we need is not in the information schema.

--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ If your life is a hard drive, Christ can be your backup. +