PostgreSQL有管理掉線(postgresql.conf中)3個存活設置:如何在Postgresql中使用tcp_keepalives設置?
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秒),連接將被終止並且鎖定將被釋放。
要麼我做錯了什麼,要麼我完全誤解了這應該如何工作。
有什麼建議嗎?
無。我一直在想我有什麼......然後什麼也沒有。 – pestilence669 2010-01-30 04:57:16
我確實在一夜之間離開了服務器,當我檢查AM時,鎖被釋放。我不知道連接終止需要多長時間,但顯然它沒有查看我的新設置(並且,是的,我重新啓動了服務器)。 – 2010-01-30 17:48:21