PostgreSQL:在数据库的所有表中搜索名为LIKE * active *的字段

时间:2014-02-12 12:33:02

标签: postgresql postgresql-9.1 pgadmin

在我的公共架构中,我有1200个表。 在一个或多个表中的某处,有一些名为LIKE“ active ”的字段 喜欢: - status_active - hr_active - who_knows_what_active_could_be

我想在控制台中使用PGAdmin或通过控制台上的普通客户端找到它们 我怎么能用更少的资源快速做到这一点?

3 个答案:

答案 0 :(得分:14)

尝试:

SELECT * 
FROM information_schema.columns 
WHERE TRUE
AND table_schema = 'public'
AND column_name ~* 'active'

答案 1 :(得分:4)

您可以尝试:

SELECT table_name,tables.table_catalog,tables.table_schema,column_name
FROM information_schema.columns
inner join information_schema.tables
using(table_name,table_schema)
WHERE  table_type = 'BASE TABLE'
  and column_name ilike '%active%'

答案 2 :(得分:0)

select * from INFORMATION_SCHEMA.COLUMNS 
where TABLE_SCHEMA like 'your schema name'
--and TABLE_NAME ilike '%your keyword%' --when you need to search for a TABLE
and COLUMN_NAME ilike '%your keyword%' --when you need to serach for a COLUMN