Re: libpq: possible to get list of tables, fields, and types?
От | Tommi Mäkitalo |
---|---|
Тема | Re: libpq: possible to get list of tables, fields, and types? |
Дата | |
Msg-id | 3C2F901F.908@epgmbh.de обсуждение исходный текст |
Ответ на | libpq: possible to get list of tables, fields, and types? (john heasley <heas@shrubbery.net>) |
Ответы |
Re: libpq: possible to get list of tables, fields, and types?
|
Список | pgsql-general |
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
В списке pgsql-general по дате отправления: