我在Kubernetes上运行Percona Postgres Operator的Postgres 15,不幸的是,有一个不可配置的负载均衡器,它会在180秒后关闭空闲连接。
我已经用client_connection_check_interval
配置了Postgres,但是在我运行psql
的客户端上的tcpdump
显示没有来自Postgres检查的数据包。
连接方式为psql
-> internet -> provider managed LB -> Traefik ingress -> Postgres。此测试中不涉及Pgbouncer
我本来希望Postgres发送一些高级的应用检查消息,但文档说它依赖于非标准的Linux扩展POLLHUP
或POLLRDHUP
- 我还尝试在psql和Postgres上使用参数
tcp_keepalives...
,但似乎也不起作用,可能是因为LB和Traefik涉及所有的TCP复制 *
1条答案
按热度按时间lsmd5eda1#
即使在Postgres中使用
tcp_keepalives_idle
设置也是为了定期向客户端发送keepalve数据包。它可能无法有效显示来自空闲连接的数据包。您可以考虑使用pgbouncer的LB。