From: | Karel Zak <zakkr(at)zf(dot)jcu(dot)cz> |
---|---|
To: | Boulat Khakimov <boulat(at)inet-interactif(dot)com> |
Cc: | Karel Zak <zakkr(at)zf(dot)jcu(dot)cz>, pgsql-sql(at)postgresql(dot)org, pgsql-general(at)postgresql(dot)org |
Subject: | Re: Re: MySQLs Describe emulator! |
Date: | 2001-03-06 15:37:32 |
Message-ID: | 20010306163732.E13152@ara.zf.jcu.cz |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general pgsql-sql |
On Tue, Mar 06, 2001 at 10:19:13AM -0500, Boulat Khakimov wrote:
>
> Karel Zak wrote:
> > > On Tue, Mar 06, 2001 at 09:14:54AM -0500, Boulat Khakimov wrote:
> > > Tom Lane wrote:
> > > >
> > > > Boulat Khakimov <boulat(at)inet-interactif(dot)com> writes:
> > > > > Here is a nifty query I came up with
> > > > > that provides a detailed information on any row of any table.
> > > > > Something that is build into mySQL (DESC tablename fieldname)
> > > > > but not into PG.
> > > >
> > > > Er, what's wrong with psql's "\d table" ?
> > >
> > > 2) as a programmer I need to be able to find out as much info as
> > > possible about any given field
> > > which is what "describe" for in mySQL.
> >
> > As a programmer you can see psql source and directly found how SQL
> > query execute this tool. The PostgreSQL needn't non-standard statements
> > like MySQL's SHOW, DESC -- the postgreSQL has system catalogs.
> >
> > Karel
>
> Agreed! Why make someones life easier??
> Let's complicate things as much as possible that way it's more
> fun,right? ;o)
>
> Dont understand how this works? No problem -- just read the source
> code.
> Dont understand how to get that to work? Not a problem -- read the
> source code!
>
> The only problem tho, the source codes tend to be thousands of lines
> when it comes
> to DBs and time is ...
Well man, I not write this code, but I need 1 minute for found it....
see src/bin/psql/describe.c:
SELECT a.attname, format_type(a.atttypid, a.atttypmod), attnotnull,
a.atthasdef, a.attnum, obj_description(a.oid)
FROM pg_class c, pg_attribute a
WHERE c.relname = 'YourTableName' AND
^^^^^^^^^^^^^
a.attnum > 0 AND
a.attrelid = c.oid
ORDER BY a.attnum;
If I good remenber anywhere in PG's docs is catalog schema. It isn't
too much difficult write queries like above-mentioned, because catalog
attributes/tables names are intuitive. For start see pg_class and
pg_attribute.
Karel
--
Karel Zak <zakkr(at)zf(dot)jcu(dot)cz>
http://home.zf.jcu.cz/~zakkr/
C, PostgreSQL, PHP, WWW, http://docs.linux.cz, http://mape.jcu.cz
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Fork | 2001-03-06 15:38:43 | Re: [SQL] Re: MySQLs Describe emulator! |
Previous Message | Alfred Perlstein | 2001-03-06 15:29:45 | Re: Re: MySQLs Describe emulator! |
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Fork | 2001-03-06 15:38:43 | Re: [SQL] Re: MySQLs Describe emulator! |
Previous Message | Tom Lane | 2001-03-06 15:31:48 | Re: Optimizing Query |