[prev in list] [next in list] [prev in thread] [next in thread] 

List:       postgresql-general
Subject:    Re: [GENERAL] libpq: possible to get list of tables, fields, and types?
From:       Tommi =?ISO-8859-1?Q?M=E4kitalo?= <t.maekitalo () epgmbh ! de>
Date:       2001-12-30 22:07:27
[Download RAW message or body]

john heasley wrote:

>using libpq, is it possible to get a list of tables (psql: \d equivalent),
>list of fields for each of those tables (psql: \d <table>), and types for
>each of the fields for a given container?
>
>there doesnt seem to be a way to do any of these, except for getting the
>field type of a returned tuple with PQftype() and looking up the returned
>oid in the pg_attribute.
>
>it does appear to be possible to query system tables (psql: \dS) for some
>of this data, such as pg_tables for a list of tables.  yet there doesnt
>appear to be a way to associate these entries to a particular datbase
>container.  am i missing some way to glue these tables together to get a
>list of tables per-container and fields per-table?
>
>tia,
>-heas
>
>---------------------------(end of broadcast)---------------------------
>TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
>
Hi,

yes - system tables is the right answer.

pg_tables is a view on pg_class. And pg_class has the information you 
need. Look into the developers guide for a description of systemtables.

Information about the attributes are in pg_attribute. Just join it with 
pg_class:
  select relname, attname, atttypid, attlen from pg_attribute join 
pg_class on attrelid = pg_class.oid

A good source for information is pgaccess. It is a TCL-script. You can 
find examples in the source.


Tommi


---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo@postgresql.org so that your
message can get through to the mailing list cleanly
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic