pg_query показать / описать таблицы - PullRequest
0 голосов
/ 21 декабря 2009

Есть ли способ показать все таблицы, описать их \ d и вывести результат на php?

Любые идеи будут оценены

Ответы [ 5 ]

2 голосов
/ 21 декабря 2009

Запустите psql -E, затем введите все интересные команды \ x (например, \ dt, \ d table) и прочитайте, что он покажет.

1 голос
1 голос
/ 21 декабря 2009

Вот что я вижу в журналах при запуске \d в оболочке psql:

SELECT n.nspname as "Schema",
      c.relname as "Name",
      CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 's' THEN 'special' END as "Type",
      r.rolname as "Owner"
    FROM pg_catalog.pg_class c
         JOIN pg_catalog.pg_roles r ON r.oid = c.relowner
         LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
    WHERE c.relkind IN ('r','v','S','')
          AND n.nspname NOT IN ('pg_catalog', 'pg_toast')
      AND pg_catalog.pg_table_is_visible(c.oid)
    ORDER BY 1,2;
0 голосов
/ 21 декабря 2009

Существует также pg_dump --schema-only.

0 голосов
/ 21 декабря 2009

Вы можете получить данные от information_schema.tables.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...