sqlplus查看表结构_一文总结PG查看表结构、索引、主键、外键、触发器常用SQL

本文总结了在PG数据库中查看表结构、索引、主键、外键和触发器的SQL命令,包括使用SQL查看表结构、索引详情、主键定义、外键约束以及如何查询触发器信息。
摘要由CSDN通过智能技术生成

概述

今天主要简单总结下PG数据库平时去查看表结构、索引、主键、外键、触发器的一些SQL,仅供参考。


一、查看XX表结构

 d tablename  

或者如下:

SELECT A.attnum,A.attname AS field,T.typname AS TYPE,A.attlen AS LENGTH,A.atttypmod AS lengthvar,A.attnotnull AS NOTNULL,b.description AS COMMENT FROMpg_class C,pg_attributeA LEFT OUTER JOIN pg_description b ON A.attrelid = b.objoid AND A.attnum = b.objsubid,pg_type T WHEREC.relname = 'pg_stat_database' AND A.attnum > 0 AND A.attrelid = C.oid AND A.atttypid = T.oid ORDER BYA.attnum;
e967d3e7ebdcaf278af259c33a241225.png

二、查看表索引

SELECT A.SCHEMANAME,A.TABLENAME,A.INDEXNAME,A.TABLESPACE,A.INDEXDEF,B.AMNAME,C.INDEXRELID,C.INDNATTS,C.INDISUNIQUE,C.INDISPRIMARY,C.INDISCLUSTERED,D.DESCRIPTION FROMPG_AM BLEFT JOIN PG_CLASS F ON B.OID = F.RELAMLEFT JOIN PG_STAT_ALL_INDEXES E ON F.OID = E.INDEXRELIDLEFT JOIN PG_INDEX C ON E.INDEXRELID = C.INDEXRELIDLEFT OUTER JOIN PG_DESCRIPTION D ON C.INDEXRELID = D.OBJOID,PG_INDEXES A WHEREA.SCHEMANAME = E.SCHEMANAME AND A.TABLENAME = E.RELNAME AND A.INDEXNAME = E.INDEXRELNAME AND E.SCHEMANAME = 'public' --and E.RELNAME = 't_student';--或者直接查系统视图select * from pg_indexes
8cd50808d0a553fb6d4be84001047957.png
5cf92938a9bb180abe4ca41261186ab5.png

三、查看表主键

--查询主键名称select c.relname,p.conname from pg_constraint p inner join pg_class c on p.conrelid=c.oid where p.contype='p'and c.relname='t_bdt_budget_d'--查询主键的详细信息SELECT C.relname,P.conname,A.attname,T.typname FROMpg_constraintP INNER JOIN pg_class C ON P.conrelid = C.oidINNER JOIN pg_attribute A ON A.attrelid = C.oid AND A.attnum = P.conkey [ 1 ]INNER JOIN pg_type T ON T.oid = A.atttypid WHEREP.contype = 'p' AND C.relname = 't_bdt_budget_d'
bc02b93411906cc6951744802edc7274.png

四、查看表外键

-- 查看当前表IDSELECT oid, relname FROM pg_class WHERE relname = 'syslogfilter';-- 查看引用当前表ID作参考表的主外键约束信息SELECT * FROM pg_CONSTRAINT WHERE confrelid = '24935';-- 查看那些外键的名称SELECT oid, relname FROM pg_class WHERE oid in(SELECT conrelid FROM pg_CONSTRAINT WHERE confrelid = '24935');

五、查看触发器

dy:查看触发器

--当前数据库所有的触发器SELECT * FROM pg_trigger--特定表的触发器SELECT *  FROM pg_trigger t, pg_class  c WHERE t.tgrelid=c.oid AND c.relname='company';

六、查看视图

dv: 查看所有自己创建的视图
dv+: 查看所有自己创建的视图,显示大小

 select * from pg_views
1f1cee1266f8dbdbe8a10f8ed72ab07b.png

觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

4c14243453edccfb0caa01aa17f840c2.gif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值