相关疑难解决方法(0)

如何在Postgresql中使用tcp_keepalives设置?

Postgresql有3个keepalive设置用于管理丢弃的连接(在postgresql.conf中):

tcp_keepalives_count
tcp_keepalives_idle
tcp_keepalives_interval

默认情况下,这些值为0.

我想要的行为是Postgresql在一段时间后丢弃客户端连接,如果客户端失去网络连接或进入休眠状态.

我目前正在使用这些值:

tcp_keepalives_count = 1
tcp_keepalives_idle = 60
tcp_keepalives_interval = 60

我在Mac OS X上运行PostgreSQL 8.4,但似乎没有任何效果.我的测试是我在表中锁定一行(使用SELECT FOR UPDATE)并断开工作站与网络的连接.但在Postgresql中我仍然看到工作站持有锁.

我希望在时间过去之后(在这种情况下为60秒),连接将被终止并且锁将被释放.

要么我做错了,要么我完全误解了这应该是怎么回事.

有什么建议?

postgresql locking keep-alive

11
推荐指数
1
解决办法
2万
查看次数

标签 统计

keep-alive ×1

locking ×1

postgresql ×1