psql \d option list overloaded - Mailing list pgsql-hackers

From Bruce Momjian
Subject psql \d option list overloaded
Date
Msg-id 200401040125.i041PLR14687@candle.pha.pa.us
Whole thread Raw
Responses Re: psql \d option list overloaded
Re: psql \d option list overloaded
Re: psql \d option list overloaded
List pgsql-hackers
D. Dante Lorenso wrote:
> > When I started with PostgreSQL and MySQL, MySQL was far easier
> > to use
> 
> I started with MySQL and it WAS easier to use.  It was easier because
> the manual essentially reads:
> 
>    -- we didn't implement anything complicated that's why
>    -- we are fast.
> 
> The only SQL customizations that MySQL has that I really miss in PostgreSQL
> are the commands:
> 
>     SHOW DATABASES;
>     SHOW TABLES;
>     DESC table;
> 
> That was ubber simple to do in MySQL.  To this day, I have trouble with
> that in PostgreSQL.  I'm constantly doing:
> 
>     psql> \?
>     psql> help;
>     ERROR:  syntax error at or near "help" at character 1
>     psql> \h
>     ...
>     * damnit, that's not it...*
>     psql> \?
>     psql> \d
>     * ok, now which flag do I use for tables vs functions..etc?*
> 
> I finally figure it out, I just end up forgetting again later.  I still
> have no clue how I'd find the same data without using psql.  In MySQL
> I can run those queries from PHP, PERL...etc.  I know you can find that
> data in system tables in PostgreSQL, but I don't wanna muck around with
> all that.  I just wanna do something as simple as MySQL.

[ Moved to hackers.]

I am starting to agree that our \d* handling is just too overloaded. 
Look at the option list from \?:Informational  \d [NAME]      describe table, index, sequence, or view  \d{t|i|s|v|S}
[PATTERN](add "+" for more detail)                 list tables/indexes/sequences/views/system tables  \da [PATTERN]
listaggregate functions  \dc [PATTERN]  list conversions  \dC            list casts  \dd [PATTERN]  show comment for
object \dD [PATTERN]  list domains  \df [PATTERN]  list functions (add "+" for more detail)  \dg [PATTERN]  list groups
\dn [PATTERN]  list schemas  \do [NAME]     list operators  \dl            list large objects, same as \lo_list  \dp
[PATTERN] list table access privileges  \dT [PATTERN]  list data types (add "+" for more detail)  \du [PATTERN]  list
users \l             list all databases (add "+" for more detail)  \z [PATTERN]   list table access privileges (same as
\dp)

Can anyone remember all those?  With the single-letter options, once the
list got too long, we started encouraging long option names.  It seems
the same is true of \d.

I like the idea of adding a new syntax to show that information using
simple SQL command syntax, and putting it in the backend so all
applications can access it.  I know we have information schema, and
maybe that can be used to make this simpler.

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
359-1001+  If your life is a hard drive,     |  13 Roberts Road +  Christ can be your backup.        |  Newtown Square,
Pennsylvania19073
 


pgsql-hackers by date:

Previous
From: "Andrew Dunstan"
Date:
Subject: Re: Restrict users from describing table
Next
From: A E
Date:
Subject: Repost of Functions Returning Record Datatype