PostgreSQL 查看表字段类型及注释 4年前

一、查看pg 表字段‘名称’、‘类型’、‘非空’、‘注释’

SELECT 
    a.attname as 字段名,
    format_type(a.atttypid,a.atttypmod) as 类型, 
    a.attnotnull as 非空, col_description(a.attrelid,a.attnum) as 注释   
FROM 
    pg_class as c,pg_attribute as a 
where 
    a.attrelid = c.oid 
    and 
    a.attnum>0 
    and 
    c.relname = '你的表名';

二、查看pg 某库 所有‘表名称’、‘字段名称‘以及‘字段注释’和‘字段类型’

select 
  c.relname 表名,
  cast(obj_description(relfilenode,'pg_class') as varchar) 名称,
  a.attname 字段,
  d.description 字段备注,
  concat_ws('',t.typname,SUBSTRING(format_type(a.atttypid,a.atttypmod) from '\(.*\)')) as 列类型 
from 
  pg_class c,
  pg_attribute a,
  pg_type t,
  pg_description d
where 
  a.attnum>0 
  and 
  a.attrelid=c.oid 
  and 
  a.atttypid=t.oid 
  and 
  d.objoid=a.attrelid 
  and 
  d.objsubid=a.attnum
  and 
  c.relname in (
    select 
    tablename 
    from 
    pg_tables 
    where 
    schemaname='public' 
    and 
    position('_2' in tablename)=0
    ) 
order by c.relname,a.attnum;
坏笑
人生有时难免会陷入困境,但人的高贵在于,困境中依然保持操守,决不能放纵自我,任错误的欲望泛滥。
3
发布数
1
关注者
7759
累计阅读

热门教程文档

Flutter
105小节
Golang
23小节
Objective-C
29小节
QT
33小节
Gin
17小节
广告