postgersql 读取某一表中的各字段名称,类型,长度,备注,默认值,是否主键,索引类型

浪淘沙2年前数据库258
SELECT A.attnum AS "序号",C.relname AS "表名",CAST (obj_description (C.OID) AS VARCHAR) AS "表名描述",A.attname AS "列名",T.typname AS "字段类型",
REPLACE(
REPLACE(SUBSTRING(format_type (A.atttypid,A.atttypmod) FROM '\(.*\)'),'(',''),')','') AS "字段长度",d.description AS "备注",pg_get_expr (def.adbin,def.adrelid) AS "默认值",CASE WHEN con.conname IS NOT NULL THEN 'YES' ELSE 'NO' END AS "是否主键",i.relname AS "索引名称",am.amname AS "索引类型" FROM pg_attribute A LEFT JOIN pg_description d ON d.objoid=A.attrelid AND d.objsubid=A.attnum LEFT JOIN pg_class C ON A.attrelid=C.OID LEFT JOIN pg_type T ON A.atttypid=T.OID LEFT JOIN pg_attrdef def ON A.attrelid=def.adrelid AND A.attnum=def.adnum LEFT JOIN pg_index i_idx ON A.attrelid=i_idx.indrelid AND A.attnum=ANY (i_idx.indkey) LEFT JOIN pg_class i ON i_idx.indexrelid=i.OID LEFT JOIN pg_am am ON i.relam=am.OID LEFT JOIN pg_constraint con ON con.conrelid=A.attrelid AND A.attnum=ANY (con.conkey) AND con.contype='p' WHERE A.attnum>=0 AND C.relname='pub_menu' ORDER BY C.relname DESC,A.attnum ASC;


image.png

相关文章

Ubuntu 22.04 安装linux sqlserver

1、下载公钥,从 ASCII 转换为 GPG 格式,并将其写入所需的位置:curl -fsSL https://packages.microsoft.com/keys/micros...

postgresql 生成新的schema,并迁称原表至新的schema

一、创建 jy schemaCREATE SCHEMA IF NOT EXISTS jy; 验证: SELECT schema_na...

postgresql 修正全部表格的自增id,为最大

SELECT   format(     'SELECT setval(%L, COALESCE((SELE...

postgresql 创建设id自增

CREATE SEQUENCE "public"."pz_chsi_area_id_seq" START WITH 1...

postgresql 取消id主键和自增后,添加完数据,又恢复自增

ALTER TABLE qy_gw ALTER COLUMN id SET DEFAULT nextval('q...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。