Обсуждение: Idea - fallback mode for psql backslash commands using information_schema

Поиск
Список
Период
Сортировка

Idea - fallback mode for psql backslash commands using information_schema

От
"Dawid Kuroczko"
Дата:
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
flittingfrom idea to idea: qnex42@gmail.com :     without getting bogged down by fixated demands.''`..................'
Sherkaner Underhill, A Deepness in the Sky, V. Vinge
 


Re: Idea - fallback mode for psql backslash commands using information_schema

От
Bruce Momjian
Дата:
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. +