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

浪淘沙1年前数据库181
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

相关文章

SQL Server 执行超大数据量的sql文件

记录:cd C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn打开cmdsqlcmd -S "localhost"...

给表加备注

EXEC sys.sp_addextendedproperty @name=N'MS_Description',@level1type=N'TABLE...

迁移 qx 表到 qy schema

ALTER TABLE public.qx SET SCHEMA qy;...

postgresql 字段中是否包含

在 PostgreSQL 中,如果你有一个字段其值为逗号分隔的字符串如 '1,2,3' 并且你想要查找其中是否包含数字 '2',你可以使用 string_to_arra...

windows postgresql 迁移数据库

PostgreSQL 数据库的迁移可以通过多种方式进行,具体选择哪种方式取决于你的需求、数据库的大小以及你希望达到的停机时间。以下是几种常见的 PostgreSQL 数据库迁移方法:### 1. 使用...

postgresql 怎么设置用户,拒绝连上其它库

1、用 超级用户(postgres)执行:SELECT datname,        has_database_pr...

发表评论    

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