1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > PostgreSQL 查表 所属schema 字段 字段类型 注释等信息

PostgreSQL 查表 所属schema 字段 字段类型 注释等信息

时间:2022-12-09 07:54:42

相关推荐

PostgreSQL 查表 所属schema 字段 字段类型 注释等信息

经试验,此文例子暂不可用

之前从网上也搜索了一些关于postgreSQL的系统表含义以及如何查表相关信息,但是都没有一个完整的内容,所以自己将找到的一些内容作了下整合,大家可以根据自己需要再对sql进行调整。

--1.查询对象字段、注释和字段类型select t.schemaname,c.relname object_name,d.description object_comment--,c.reltuples count--,c.relkind object_type --r = 普通表,i = 索引,S = 序列,v = 视图, c = 复合类型,s = 特殊,t = TOAST表--,c.relhaspkey primary_key --f:假,t-:真,a.attname column_name,db.description column_comment,s.attrnums distributed_column--,case when s.attrnums is not null then 'is distributed key' end distributed_column--,a.attnum column_seq,case p.typnamewhen 'int8' then 'bigint'when 'int4' then 'integer'when 'int2' then 'smallint'when 'timestamp' then 'timestamp without time zone'when 'date' then 'date'when 'varchar' then 'character varying('||a.atttypmod - 4||')'when 'numeric' then 'numeric('||(a.atttypmod - 4) / 65536||','||(atttypmod - 4) % 65536||')'end column_type,at.adsrc AS column_default,CASEWHEN a.attnotnull THEN'not null'ELSE''END AS column_not_null--,p.typname--,p.typlen--,a.atttypmod - 4 as column_lengthfrom pg_tables tinner join pg_class c on t.tablename=c.relnameleft join pg_description d on c.oid=d.objoid and d.objsubid=0left join pg_description db on c.oid=db.objoid and db.objsubid>0left join pg_attribute a on c.oid=a.attrelid and db.objsubid=a.attnumleft join ( select a.attrnums[i.i] attrnums,b.attname,a.localoid from gp_distribution_policy a, (select generate_series(1,10)) i(i), --预计表分布键的个数为10个pg_attribute b where a.attrnums[i.i] is not null and a.localoid=b.attrelid and a.attrnums[i.i]=b.attnum ) s on c.oid=s.localoid and a.attnum=s.attrnumsleft join pg_type p on a.atttypid=p.oidleft join pg_attrdef at on c.oid=at.adrelid and a.attnum=at.adnum where upper(c.relname) = upper('bas_add_sub_rep') --表名order by a.attnum;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。