之前要将数据库的表结构给做成markdow来写开发设计文档或是接口文档,去找各种开源工具、组件。

整理了一个SQL语句可以查询出表结构,样式如下

SQL语句,里面的jiahui表示数据库的schema,默认是public

SELECT CASEWHEN t.attnum = -2 THENNULLWHEN t.attnum = -1 THEN'表名'ELSEt.relnameEND 表名,t.attname 字段名,t.atttype 字段类型或表约束,t.isnotnull 是否可为空,t.attrdef 默认值,t.description 注释FROM (SELECT b.relname,a.attnum,a.attname,format_type(a.atttypid, a.atttypmod) atttype,CASEWHEN a.attnotnull = TRUE THEN'不可空'ELSE'可空'END isnotnull,(SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid, true) FROM pg_attrdef dWHERE d.adrelid = a.attrelidAND d.adnum = a.attnumAND a.atthasdef) attrdef,c.descriptionFROM pg_attribute aJOIN pg_class bON a.attrelid = b.oidLEFT JOIN pg_description cON a.attrelid = c.objoidAND c.objsubid = a.attnumWHERE a.attnum > 0AND a.attisdropped = 'f'AND b.relnamespace = 'jiahui'::regnamespaceAND b.relkind = 'r'AND NOT a.attisdroppedUNION ALLSELECT b.relname,-2,NULL,NULL,NULL,NULL,NULLFROM pg_class bWHERE b.relnamespace = 'jiahui'::regnamespaceAND b.relkind = 'r'UNION ALLSELECT b.relname,-1,'字段名','字段类型或表约束','是否可为空','默认值','注释'FROM pg_class bWHERE b.relnamespace = 'jiahui'::regnamespaceAND b.relkind = 'r'UNION ALLSELECT b.relname,0,NULL,string_agg(CASEWHEN contype = 'p' THEN'主键约束'WHEN contype = 'c' THEN'检查约束'WHEN contype = 'f' THEN'外键约束'WHEN contype = 'u' THEN'唯一约束'WHEN contype = 't' THEN'约束触发器'WHEN contype = 'x' THEN'排除约束'END || ':' || conname || ' ' ||pg_get_constraintdef(a.oid, 't'),';'),NULL,NULL,(SELECT descriptionFROM pg_descriptionWHERE a.conrelid = objoidAND objsubid = 0)FROM pg_constraint aJOIN pg_class bON a.conrelid = b.oidWHERE a.connamespace = 'jiahui'::regnamespaceAND b.relnamespace = 'jiahui'::regnamespaceAND b.relkind = 'r'GROUP BY conrelid,b.relname) tORDER BY t.relname,t.attnum offset 1;

PGSQL 导出数据库表结构相关推荐

  1. navicat查询oracle表结构,利用Navicat Premium导出数据库表结构信息至Excel的方法

    因为要编写设计文档,需要用到数据库表结构,想要在word文档中以二维表格的形式展示,故借助Excel形成二维表格样式,还是很方便的样子! 1.新建查询,并将以下SQL语句修改至需要 SELECT CO ...

  2. navicat导出数据库表结构及数据

    前言 我们在开发中使用数据库时往往需要做一些备份之类的,或者需要导出下表结构导入到其他数据库等 本文介绍下使用navicat导出数据库表结构.表数据 导出表结构.数据 1.选择工具->数据传输 ...

  3. 导出数据库表结构word文档

    前言 导出数据库表结构到word文档. 效果展示 表 CREATE TABLE `user_info` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT ...

  4. python自动化导出数据库表结构到word

    导出数据库表文档到word. 使用pyhton的python-docx框架实现导出数据库表结构为word格式. 前言: 本人自学python,语法不精通,参考人员注意甄别. 问题: 由于近期甲方项目需 ...

  5. 利用Navicat Premium导出数据库表结构信息至Excel

    因为要编写设计文档,需要用到数据库表结构,想要在word文档中以二维表格的形式展示,故借助Excel形成二维表格样式,还是很方便的样子! 1.新建查询,并将以下SQL语句修改至需要 SELECTCOL ...

  6. 【保姆式教程】用PowerDesigner导出数据库表结构为Word/Excel表格

    使用PowerDesigner将表结构导出到word表格 一. PowerDesigner的下载安装 (已安装的跳过) PowerDesigner下载地址 后面只要next>>next&g ...

  7. PowerDesigner导出数据库表结构word

    打开PowerDesigner新建模型(系统环境变量必须配置32位JDK,否决将出现无法创建JavaVM错误信息powerdesigner Could not Initialize JavaVM!) ...

  8. datagrip 导出数据库表结构

    快速导出表结构 在sql generator中就会开发对应数据库的SQL,之后把这个SQL复制出来保存在指定的SQL文件中,即可.

  9. powerdesigner 导出数据库表结构

    http://www.360doc.com/content/12/0817/19/61497_230730771.shtml 转载于:https://www.cnblogs.com/gaohuag/p ...

最新文章

  1. Entity Framework中的Migration问题
  2. 程序员经常去的 14 个顶级开发者社区(转)
  3. Quartz.net官方开发指南 第二课:Jobs And Triggers
  4. Hdu 4738 Caocao's Bridges (连通图+桥)
  5. 手写简版spring --9--对象作用域和FactoryBean
  6. 使用Dynamic LINQ实现Ext Grid的远程排序
  7. Android之解决NestedScrollView嵌套ViewPager导致出现左右页面滑动冲突
  8. 推荐一个值得加入C++开发者俱乐部
  9. 只“存活”9个月:Ubuntu 15.10今日停止支持
  10. 使用SuperMap对接天地图
  11. Python入门学习笔记(9)
  12. 23-[模块]-logging
  13. 使用fastcgi_cache加速你的Nginx网站
  14. js给页面添加随机像素噪声背景
  15. 花生壳域名绑定动态IP原理浅析
  16. 签名申请问题(100%成功)
  17. Elasticsearch 摄取节点(Ingest Node)使用Pipeline预处理文档
  18. 常见网络摄像机(摄像头)的端口及RTSP地址
  19. B-tree、B+tree详解(二)插入与删除
  20. 基于51单片机的WIFI模块的简单通信

热门文章

  1. Android 判断view 是否在屏幕中展示出来(打点真实展现)
  2. 无80和443端口下申请域名SSL证书(适用于 acme.sh 和 certbot)
  3. 强烈推荐,7个资源搜索网站,从此告别资源付费
  4. 龙芯中科发布的 《龙芯生态白皮书(2022年)》的.NET 生态章节节选
  5. 主机屋 linux,如何主机屋中发布网站?
  6. HHKB 使用一月体验
  7. CAD办公室平面设计图素材大全
  8. 求知讲堂Java视频-基础整理-数据类型
  9. iOS开发之第三方支付微信支付教程,史上最新最全第三方微信支付方式实现、微信集成教程,微信实现流程
  10. 超强的QQ聊天理论(这算得上是QQ类的资源强贴了,收藏吧)