查找整个 PostgreSQL 数据库中的是否有某个特定字符串
时间: 2024-02-20 09:59:02 浏览: 68
在数据库中搜索某个字符串
要在整个 PostgreSQL 数据库中查找是否有某个特定字符串,可以使用以下的查询语句:
```
SELECT
relname AS table_name,
attname AS column_name
FROM
pg_attribute
INNER JOIN pg_class ON pg_class.oid = pg_attribute.attrelid
INNER JOIN pg_namespace ON pg_namespace.oid = pg_class.relnamespace
WHERE
pg_attribute.atttypid IN (25,1043) AND
pg_attribute.attnum > 0 AND
pg_namespace.nspname = 'public' AND
pg_class.relkind = 'r' AND
lower(pg_attribute.attname) LIKE '%your_search_string%'
ORDER BY
relname,
attname;
```
这个查询语句会在整个 PostgreSQL 数据库中查找所有包含指定字符串的字符类型列,并返回这些列所在的表名和列名。需要注意的是,这个查询语句只会查找字符类型的列。如果需要查找其他类型的列,需要修改查询语句中的 `pg_attribute.atttypid` 条件。
同时,这个查询语句只会查找 `public` 模式下的表,如果需要查找其他模式下的表,需要修改查询语句中的 `pg_namespace.nspname` 条件。
阅读全文