问题描述
假设您对 pg_stat_activity 表进行查询并得到示例结果:
日期 | 数据名 | pid | usesysid | 用户名 | application_name | client_addr | client_hostname | client_port | backend_start | xact_start | query_start | state_change | wait_event_type | wait_event | 状态 | backend_xid | backend_xmin | 查询 | 后端类型 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
7198 | 10 | rdsadmin | |||||||||||||||||
7195 | |||||||||||||||||||
16384 | rdsadmin | 32375 | 10 | rdsadmin | Postgresql JDBC 驱动程序 | ||||||||||||||
16409 | c-t-s | 21143 | 16410 | c-t-s | c-t-s | 10.10.3.1 | 48037 | 2021-01-18 13:19:03 | 2021-01-18 13:31:23 | 2021-01-18 13:31:23 | 客户 | 客户端读取 | 空闲 | 提交 | 客户端后端 |
我想知道查询 COMMIT
是在哪个架构上执行的?
我的情况是我有基于模式的多租户,我想区分模式(租户)。我们总是进行单一模式查询,所以我们不会混合它们。为了实现这一点,我们在每个 search_path
方法调用上设置 getConnection
。代码是用 Java 开发的,我们不在查询中使用架构名称,因为它始终是动态的——取自当前请求上下文并在 getConnection
方法中设置。
根据目前的结果,我不知道哪个租户(架构)导致慢/长查询。
我试图通过从 pg_stat_activity 中获取的 id 从 pg_class 中进行选择,但没有运气。
到目前为止评论没有回答我的问题,这可能吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)