问题:某个应用程序的用户执行涉及大量SQL查询的报告。几分钟后,用户退出应用程序(或者更糟糕的是,应用程序崩溃,或者与数据库服务器的连接丢失)。然而,查询继续执行,即使不再需要。
所以我已经了解了这些类型的情况以及如何处理它们,建议使用TCP Keepalive configuration。
问题是看起来postgres忽略了这个配置。我已经在“postgres级别”和“操作系统级别”降低了原始配置值,没有运气:
- 的 postgresql.conf中
- tcp_keepalives_idle = 60
- tcp_keepalives_interval = 6
- tcp_keepalives_count = 10
- 的 Ubuntu的
- echo 60>的/ proc / SYS /净/的IPv4 / tcp_keepalive_time
- echo 10>的/ proc / SYS /净/的IPv4 / tcp_keepalive_intvl
- echo 6>的/ proc / SYS /净/的IPv4 / tcp_keepalive_probe
我甚至尝试重新加载/重启postgres但没有任何效果,查询一直运行两分钟直到最后。 ¿我还有什么额外的步骤吗?