Postgresql 导出表结构文档

Postgresql 查询表的字段信息,字段名,类型,注释,是否为空

  1. SELECT
  2. col_description ( A.attrelid, A.attnum ) AS COMMENT,
  3. format_type ( A.atttypid, A.atttypmod ) AS TYPE,
  4. A.attname AS NAME,
  5. A.attnotnull AS NOTNULL
  6. FROM
  7. pg_class AS C,
  8. pg_attribute AS A
  9. WHERE
  10. C.relname = ‘sys_user’
  11. AND A.attrelid = C.oid
  12. AND A.attnum > 0

查询所有表名和注释

  1. SELECT
  2. relname AS tabname,
  3. CAST ( obj_description ( relfilenode, ‘pg_class’ ) AS VARCHAR ) AS COMMENT
  4. FROM
  5. pg_class C
  6. WHERE
  7. relkind = ‘r’
  8. AND relname NOT LIKE‘pg_%’
  9. AND relname NOT LIKE‘sql_%’
  10. ORDER BY
  11. relname

组合查询

  1. SELECT
  2. C.relname AS “表名”,
  3. CAST ( obj_description ( relfilenode, ‘pg_class’ ) AS VARCHAR ) AS “表描述”,
  4. A.attname AS “列ID”,
  5. col_description ( A.attrelid, A.attnum ) AS “列描述”,
  6. format_type ( A.atttypid, A.atttypmod ) AS “类型及长度”,
  7. A.attnotnull AS “可否为空”
  8. FROM
  9. pg_class AS C,
  10. pg_attribute AS A
  11. WHERE
  12. C.relname IN ( SELECT relname FROM pg_class C WHERE relkind = ‘r’ AND relname NOT LIKE‘pg_%’ AND relname NOT LIKE‘sql_%’ ORDER BY relname )
  13. AND A.attrelid = C.oid
  14. AND A.attnum > 0
  15. AND A.attname NOT LIKE‘%pg.dropped%’

本文链接地址: Postgresql 导出表结构文档

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注