Re: Is there no "DESCRIBE <TABLE>;" on PGSQL? help!!!

From: "Ron de Jong" <radejong(at)planet(dot)nl>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Is there no "DESCRIBE <TABLE>;" on PGSQL? help!!!
Date: 2001-10-20 16:02:31
Message-ID: 9qs77n$et$1@reader07.wxs.nl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

If you like the psql client then have a look at a graphical "psql" CGI
program!!!
It's just one file twdba.cgi to put in your cgi-bin directory and your
browser does the rest.

http://home.planet.nl/~radejong (TWDBA Download button)

You see the \? tricks only work with that particular psql client and the
engine does not honor them from another client.

You'll love it!!!

"David Eduardo Gomez Noguera" <davidgn(at)servidor(dot)unam(dot)mx> wrote in message
news:20011019082812(dot)2bf29485(dot)davidgn(at)servidor(dot)unam(dot)mx(dot)(dot)(dot)
> ---------- Forwarded message ----------
> Date: Fri, 19 Oct 2001 08:22:46 -0600
> From: David Eduardo Gomez Noguera <davidgn(at)servidor(dot)unam(dot)mx>
> To: "Ron de Jong" <Ron(dot)Antispam(at)news(dot)tht(dot)net>
> Cc: davidgn(at)servidor(dot)unam(dot)mx
> Subject: Re: [HACKERS] Is there no "DESCRIBE <TABLE>;" on PGSQL?
help!!!
>
> on psql, do \? there are a lot of commands that let you do it:
>
> \l (this list databases)
> dabicho=# \l
> List of databases
> Database | Owner | Encoding
> -------------+----------+-----------
> agenda | dabicho | SQL_ASCII
> cele | dabicho | SQL_ASCII
> dabicho | dabicho | SQL_ASCII
> diccionario | dabicho | SQL_ASCII
> imagenes | dabicho | SQL_ASCII
> libros | dabicho | SQL_ASCII
> mp3 | dabicho | SQL_ASCII
> postgres | postgres | SQL_ASCII
> template0 | postgres | SQL_ASCII
> template1 | postgres | SQL_ASCII
> (10 rows)
>
> mp3=# \d (this list tables on the current db)
> List of relations
> Name | Type | Owner
> ----------------+----------+---------
> album | table | dabicho
> album_id_seq | sequence | dabicho
> artista | table | dabicho
> artista_id_seq | sequence | dabicho
> dirpath | table | dabicho
> dirpath_id_seq | sequence | dabicho
> genero | table | dabicho
> genero_id_seq | sequence | dabicho
> mp3 | table | dabicho
> mp3_id_seq | sequence | dabicho
> pga_forms | table | dabicho
> pga_layout | table | dabicho
> pga_queries | table | dabicho
> pga_reports | table | dabicho
> pga_schema | table | dabicho
> pga_scripts | table | dabicho
>
>
> mp3=# \d mp3 (this describes a table (mp3)
> Table "mp3"
> Attribute | Type | Modifier
> ---------------+-------------------+--------------------------------------
----------
> id | integer | not null default
nextval('"mp3_id_seq"'::text)
> fk_dirpath_id | integer | not null
> filename | character varying | not null
> titulo | text | not null default 'unknown'
> fk_artista_id | integer | not null default 1
> fk_album_id | integer | not null default 1
> comentario | text | not null default 'none'
> year | integer | default 2001
> genero | smallint | not null default 1
> Indices: mp3_fk_dirpath_id_key,
> mp3_pkey
>
> with \pset you can set output format.
>
> mp3=# \pset expanded
> Expanded display is on.
> mp3=# \d mp3
> Table "mp3"
> -[ RECORD 1 ]---------------------------------------------
> Attribute | id
> Type | integer
> Modifier | not null default nextval('"mp3_id_seq"'::text)
> -[ RECORD 2 ]---------------------------------------------
> Attribute | fk_dirpath_id
> Type | integer
> Modifier | not null
> -[ RECORD 3 ]---------------------------------------------
> ....
> there are many combinations
> mp3=# \pset border 2
> Border style is 2.
> mp3=# \d mp3
> Table "mp3"
>
+---------------+-------------------+---------------------------------------
---------+
> | Attribute | Type | Modifier
|
>
+---------------+-------------------+---------------------------------------
---------+
> | id | integer | not null default
nextval('"mp3_id_seq"'::text) |
> | fk_dirpath_id | integer | not null
|
> | filename | character varying | not null
|
> | titulo | text | not null default 'unknown'
|
> | fk_artista_id | integer | not null default 1
|
> | fk_album_id | integer | not null default 1
|
> | comentario | text | not null default 'none'
|
> | year | integer | default 2001
|
> | genero | smallint | not null default 1
|
>
+---------------+-------------------+---------------------------------------
---------+
> Indices: mp3_fk_dirpath_id_key,
> mp3_pkey
>
> pretty much the same, and fairly human readable to me. (although not
everything sorted in columns, i guess you could do querys to the system
tables to get that, or use awk to get the bits you want =) )
> I just this the postgres team has don an excelent work so far.
>
> Reply.
> > Any idea to get a human readable list with column descriptions like
> > type,size,key,default,null.
> > It would be nice if it would look simular to the mysql variant:
> >
> > mysql> describe employee;
> > +-----------+----------+------+-----+---------+----------------+
> > | Field | Type | Null | Key | Default | Extra |
> > +-----------+----------+------+-----+---------+----------------+
> > | Id | int(11) | | PRI | NULL | auto_increment |
> > | FirstName | char(30) | | MUL | | |
> > | LastName | char(30) | | | | |
> > | Infix | char(10) | YES | | NULL | |
> > | Address1 | char(30) | YES | | NULL | |
> > | PostCode | char(10) | YES | | NULL | |
> > | Town | int(11) | YES | | NULL | |
> > +-----------+----------+------+-----+---------+----------------+
> >
> > Cheers, Ron.
> >
> >
> >
>
>
>
> --
> ICQ: 15605359 Bicho
> =^..^=
> First, they ignore you. Then they laugh at you. Then they fight you. Then
you win. Mahatma Gandhi.
> ........Por que no pensaran los hombres como los animales? Pink
Panther........
> -------------------------------$B5$8!BN$N0lCW(B-------------------------
-----------
> $B=k$54($5$bH`4_$^$G!#(B
> $B%"%s(B $B%"%s(B $B%"%s(B $B$H$C$F$bBg9%$-(B
>
> > on psql, do \? there are a lot of commands that let you do it:
> >
> > \l (this list databases)
> > dabicho=# \l
> > List of databases
> > Database | Owner | Encoding
> > -------------+----------+-----------
> > agenda | dabicho | SQL_ASCII
> > cele | dabicho | SQL_ASCII
> > dabicho | dabicho | SQL_ASCII
> > diccionario | dabicho | SQL_ASCII
> > imagenes | dabicho | SQL_ASCII
> > libros | dabicho | SQL_ASCII
> > mp3 | dabicho | SQL_ASCII
> > postgres | postgres | SQL_ASCII
> > template0 | postgres | SQL_ASCII
> > template1 | postgres | SQL_ASCII
> > (10 rows)
> >
> > mp3=# \d (this list tables on the current db)
> > List of relations
> > Name | Type | Owner
> > ----------------+----------+---------
> > album | table | dabicho
> > album_id_seq | sequence | dabicho
> > artista | table | dabicho
> > artista_id_seq | sequence | dabicho
> > dirpath | table | dabicho
> > dirpath_id_seq | sequence | dabicho
> > genero | table | dabicho
> > genero_id_seq | sequence | dabicho
> > mp3 | table | dabicho
> > mp3_id_seq | sequence | dabicho
> > pga_forms | table | dabicho
> > pga_layout | table | dabicho
> > pga_queries | table | dabicho
> > pga_reports | table | dabicho
> > pga_schema | table | dabicho
> > pga_scripts | table | dabicho
> >
> >
> > mp3=# \d mp3 (this describes a table (mp3)
> > Table "mp3"
> > Attribute | Type | Modifier
>
> ---------------+-------------------+--------------------------------------
----------
> > id | integer | not null default
nextval('"mp3_id_seq"'::text)
> > fk_dirpath_id | integer | not null
> > filename | character varying | not null
> > titulo | text | not null default 'unknown'
> > fk_artista_id | integer | not null default 1
> > fk_album_id | integer | not null default 1
> > comentario | text | not null default 'none'
> > year | integer | default 2001
> > genero | smallint | not null default 1
> > Indices: mp3_fk_dirpath_id_key,
> > mp3_pkey
> >
> > with \pset you can set output format.
> >
> > mp3=# \pset expanded
> > Expanded display is on.
> > mp3=# \d mp3
> > Table "mp3"
> > -[ RECORD 1 ]---------------------------------------------
> > Attribute | id
> > Type | integer
> > Modifier | not null default nextval('"mp3_id_seq"'::text)
> > -[ RECORD 2 ]---------------------------------------------
> > Attribute | fk_dirpath_id
> > Type | integer
> > Modifier | not null
> > -[ RECORD 3 ]---------------------------------------------
> > ....
> > there are many combinations
> > mp3=# \pset border 2
> > Border style is 2.
> > mp3=# \d mp3
> > Table "mp3"
> >
+---------------+-------------------+---------------------------------------
---------+
> > | Attribute | Type | Modifier
|
> >
+---------------+-------------------+---------------------------------------
---------+
> > | id | integer | not null default
nextval('"mp3_id_seq"'::text) |
> > | fk_dirpath_id | integer | not null
|
> > | filename | character varying | not null
|
> > | titulo | text | not null default 'unknown'
|
> > | fk_artista_id | integer | not null default 1
|
> > | fk_album_id | integer | not null default 1
|
> > | comentario | text | not null default 'none'
|
> > | year | integer | default 2001
|
> > | genero | smallint | not null default 1
|
> >
+---------------+-------------------+---------------------------------------
---------+
> > Indices: mp3_fk_dirpath_id_key,
> > mp3_pkey
> >
> > pretty much the same, and fairly human readable to me. (although not
everything sorted in columns, i guess you could do querys to the system
tables to get that, or use awk to get the bits you want =) )
> > I just this the postgres team has don an excelent work so far.
> >
> > Reply.
> > > Any idea to get a human readable list with column descriptions like
> > > type,size,key,default,null.
> > > It would be nice if it would look simular to the mysql variant:
> > >
> > > mysql> describe employee;
> > > +-----------+----------+------+-----+---------+----------------+
> > > | Field | Type | Null | Key | Default | Extra |
> > > +-----------+----------+------+-----+---------+----------------+
> > > | Id | int(11) | | PRI | NULL | auto_increment |
> > > | FirstName | char(30) | | MUL | | |
> > > | LastName | char(30) | | | | |
> > > | Infix | char(10) | YES | | NULL | |
> > > | Address1 | char(30) | YES | | NULL | |
> > > | PostCode | char(10) | YES | | NULL | |
> > > | Town | int(11) | YES | | NULL | |
> > > +-----------+----------+------+-----+---------+----------------+
> > >
> > > Cheers, Ron.
> > >
> > >
> > >
> >
> >
> >
> > --
> > ICQ: 15605359 Bicho
> > =^..^=
> > First, they ignore you. Then they laugh at you. Then they fight you.
Then you win. Mahatma Gandhi.
> > ........Por que no pensaran los hombres como los animales? Pink
Panther........
>
> -------------------------------$B5$8!BN$N0lCW(B-------------------------
-----------
> > $B=k$54($5$bH`4_$^$G!#(B
> > $B%"%s(B $B%"%s(B $B%"%s(B $B$H$C$F$bBg9%$-(B
>
>
> --
> ICQ: 15605359 Bicho
> =^..^=
> First, they ignore you. Then they laugh at you. Then they fight you. Then
you win. Mahatma Gandhi.
> ........Por que no pensaran los hombres como los animales? Pink
Panther........
> -------------------------------$B5$8!BN$N0lCW(B-------------------------
-----------
> $B=k$54($5$bH`4_$^$G!#(B
> $B%"%s(B $B%"%s(B $B%"%s(B $B$H$C$F$bBg9%$-(B
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo(at)postgresql(dot)org so that your
> message can get through to the mailing list cleanly

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Serguei Mokhov 2001-10-20 16:29:36 Re: namespaces
Previous Message Ron de Jong 2001-10-20 15:24:39 Re: Is there no "DESCRIBE <TABLE>;" on PGSQL? help!!!