From: | Mathijs Brands <mathijs(at)ilse(dot)nl> |
---|---|
To: | Karel Zak <zakkr(at)zf(dot)jcu(dot)cz> |
Cc: | Boulat Khakimov <boulat(at)inet-interactif(dot)com>, pgsql-sql(at)postgresql(dot)org, pgsql-general(at)postgresql(dot)org |
Subject: | Re: [SQL] Re: Re: MySQLs Describe emulator! |
Date: | 2001-03-07 00:09:46 |
Message-ID: | 20010307010946.D51050@ilse.nl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general pgsql-sql |
On Tue, Mar 06, 2001 at 04:37:32PM +0100, Karel Zak allegedly wrote:
> 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, how about this one? It's even easier :) No need to spit through code
to find this...
serv0:/var/namedsrc$ psql -E -c '\d nodes' iig
********* QUERY *********
SELECT relhasindex, relkind, relchecks, reltriggers, relhasrules
FROM pg_class WHERE relname='nodes'
*************************
********* QUERY *********
SELECT a.attname, t.typname, a.attlen, a.atttypmod, a.attnotnull, a.atthasdef, a.attnum
FROM pg_class c, pg_attribute a, pg_type t
WHERE c.relname = 'nodes'
AND a.attnum > 0 AND a.attrelid = c.oid AND a.atttypid = t.oid
ORDER BY a.attnum
*************************
********* QUERY *********
SELECT c2.relname
FROM pg_class c, pg_class c2, pg_index i
WHERE c.relname = 'nodes' AND c.oid = i.indrelid AND i.indexrelid = c2.oid
ORDER BY c2.relname
*************************
Table "nodes"
Attribute | Type | Modifier
-----------+----------+----------
id | integer |
title | text |
ncount | smallint |
ecount | smallint |
ref | integer |
moddate | integer |
publish | char(1) |
Indices: idx_nodes_id,
idx_nodes_ref,
idx_nodes_title
Mathijs
--
It's not that perl programmers are idiots, it's that the language
rewards idiotic behavior in a way that no other language or tool has
ever done.
Erik Naggum
From | Date | Subject | |
---|---|---|---|
Next Message | Jean-Christophe Boggio | 2001-03-07 00:35:16 | Request regarding logs |
Previous Message | Warren Vanichuk | 2001-03-06 23:46:48 | vacuum analyze returns "OID IS INVALID. TUPGONE 1" on pg_language |
From | Date | Subject | |
---|---|---|---|
Next Message | Mathijs Brands | 2001-03-07 00:47:23 | Re: [SQL] Undefined symbol |
Previous Message | Mathijs Brands | 2001-03-06 23:46:01 | Re: Re: [HACKERS] why the DB file size does not reduce when 'delete'the data in DB? |