我需要查询: 所有表格和查看名称 对于每张桌子和查看:他们的架构,描述和&所有列名。 每列:他们的名字,类型和&描述。 同样对于每个表,所有PK:FK关系。
我们有选择,但他们似乎没有完全使用最新版本。例如,我们使用以下内容获取所有表:
SELECT schemaname, tablename from pg_tables order by tablename
我们没有得到所有表格。
谢谢 - 戴夫
答案 0 :(得分:0)
您可以使用pg_views
获取观看次数:
select schemaname, tablename from (
select schemaname, tablename from pg_tables union all
select schemaname, viewname from pg_views
) as x
order by tablename
然后使用information_schema.columns
获取所有列。例如:
select
schemaname,
tablename,
(
select array_agg("column_name"::text)
from information_schema.columns
where
table_schema = x.schemaname and
table_name = x.tablename
)
from (
select schemaname, tablename from pg_tables union all
select schemaname, viewname from pg_views
) as x
order by tablename
information_schema
还有其他一些您可能会觉得有用的内容:http://www.postgresql.org/docs/9.1/static/information-schema.html