postgresql 查询pg_stat_activity 时 查找schema
时间: 2024-10-11 21:17:02 浏览: 33
pg_stat_monitor:PostgreSQL统计信息收集器
PostgreSQL 的 `pg_stat_activity` 表用于存储关于当前正在运行的数据库活动的信息,包括用户、查询、事务状态等。如果你想通过这个表查找特定 schema 的活动信息,你需要结合其他表,因为 `pg_stat_activity` 自身并不直接记录 schema 名称。
通常,你可以通过查询用户的会话连接 (`conninfo` 列) 来间接关联到对应的 schema。如果用户连接时指定了 schema,则 conninfo 中可能会包含类似 `"schmname=my_schema"` 的模式名信息。不过,这需要配合 SQL 查询来解析 conninfo 字符串。
例如,如果你想要找到所有在名为 "my_schema" 的模式下活动的用户,可以编写这样的查询:
```sql
SELECT * FROM pg_stat_activity
WHERE conninfo LIKE 'schmname=%my_schema%';
```
但这只是一个简单的示例,实际操作中可能还需要额外处理,比如使用 `substring` 或 `unnest` 函数来提取模式名。
请注意,这并不是标准的 `pg_stat_activity` 检索,因为 `schmname` 并非该表固定的字段。如果你需要精确跟踪每个活动与哪个 schema 关联,可能需要依赖于数据库内部的日志或者更专业的监控工具。
阅读全文