Postgresql有很多系统表,可以查主键、列名、类型、备注、索引等。
参考:https://www.yiibai.com/manual/postgresql/catalogs.html
为了配置datax通用脚本,用到这些,记录一下:
select table_schema,table_name,concat('s01_',table_name) as target_table,t.colname,string_agg(column_name,',') as COLS
from information_schema.columns
LEFT JOIN (select pg_class.relname as tablename,pg_attribute.attname as colname from
pg_constraint inner join pg_class
on pg_constraint.conrelid = pg_class.oid
inner join pg_attribute on pg_attribute.attrelid = pg_class.oid
and pg_attribute.attnum = pg_constraint.conkey[1]
where pg_constraint.contype='p') t
on table_name=t.tablename
where TABLE_NAME = 'mem_base_info'
group by table_schema,table_name,t.colname;
结果:

PostgreSQL主键与列信息查询

本文介绍了一种在PostgreSQL中查询表的主键、列名、类型及备注的方法,通过SQL语句展示了如何从系统表获取mem_base_info表的详细结构,包括使用pg_constraint、pg_class和pg_attribute等系统目录。

被折叠的 条评论
为什么被折叠?



