PostgreSQL:如何查询库中包含某个字段的所有表。

今天开发组同事过来,需要从数据库端拉一份含有某个字段的表的清单出来,因为这个日志库中表很多,开发人员不方便统计,想了想,可以通过查询 pg_attribute 系统表完成。

数据库信息

版本: PostgreSQL 9.1.9
表类型:按日分区表 ( 2 套 );按月分区表 ( 几十套 )

查询包含 name 字段的表

1
2
3
4
5
6
7
select b.oid, b.relname, att.attname, b.relkind,attinhcount, atttypmod
from pg_attribute att, pg_class b
where b.oid = att.attrelid
and att.attname = 'name'
and attinhcount in (0)
and b.relkind in ('r')
order by b.relname, atttypmod;

备注:以上系统表详细信息参考 pg_attributepg_class,这个 SQL 不需要超级权限执行。

参考

原创文章,作者:carmelaweatherly,如若转载,请注明出处:https://blog.ytso.com/238011.html

(0)
上一篇 2022年1月30日
下一篇 2022年1月30日

相关推荐

发表回复

登录后才能评论