如何解决如何从 Java 中的运行查询中获取 postgres 模式
假设您对 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 举报,一经查实,本站将立刻删除。