pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Alvaro Herrera <alvherre@dcc.uchile.cl>
To: Alan Chandler <alan@chandlerfamily.org.uk>
Cc: pgsql-sql@postgresql.org
Subject: Re: Matching the MYSQL "Describe <table-name>" command
Date: Sun, 24 Apr 2005 14:31:23 -0400
Message-ID: <20050424183123.GD8757@dcc.uchile.cl> (raw)
In-Reply-To: <200504241902.16770.alan@chandlerfamily.org.uk>
References: <200504241902.16770.alan@chandlerfamily.org.uk>

On Sun, Apr 24, 2005 at 07:02:16PM +0100, Alan Chandler wrote:
> I am rather new to Postgres (running 7.4) but I am trying to port some PHP 
> code that has been built to run with mysql.
> 
> I have got stuck trying to find the equivalent of the Mysql "DESCRIBE 
> <tablename>;" SQL statement that lists the columns and type identifiers of a 
> table.
> 
> I think I am going to do a SELECT on the "pg_attribute" table, but I don't 
> understand what the "attrelid" column of that table refers to.  I need to get 
> the table name of the column so that I can restrict the select with a WHERE 
> clause so I assumed it was a key into the pg_class table, but I can't see a 
> column in this table that could potentially correspond and therefore I could 
> join to it.

select attrelid::regclass, format_type(atttypid, atttypmod) from
pg_attribute

I think it does more or less what you want.

The easiest way to know this sort of info is start psql with -E, and
then describe a table using \d.  It will show you what queries it
issued.

attrelid is a FK to pg_class.oid, which is a system (therefore hidden)
column.

-- 
Alvaro Herrera (<alvherre[@]dcc.uchile.cl>)
"Lo esencial es invisible para los ojos" (A. de Saint Exúpery)



view thread (5+ messages)  latest in thread

Message-ID: <20050424183123.GD8757@dcc.uchile.cl>
Permalink:  ../20050424183123.GD8757@dcc.uchile.cl/
Also on:    postgresql.org/message-id/20050424183123.GD8757@dcc.uchile.cl

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: alvherre@dcc.uchile.cl, alan@chandlerfamily.org.uk
  Subject: Re: Matching the MYSQL "Describe <table-name>" command
  In-Reply-To: <20050424183123.GD8757@dcc.uchile.cl>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox