2014-10-27 67 views
0

我有一些問題來驗證用戶何時連接到數據庫或沒有,因爲當客戶端失去網絡連接保持打開在數據庫中我想在客戶端意外丟失連接時完成這些連接。或者通過其他方式來驗證打開的連接。我正在使用下面的查詢;如何完成連接C#Postgres當我失去了與服務器的網絡連接

Select * from pg_stat_activity; 
+0

捕獲任何異常斷開的連接導致並嘗試重新連接? – 2014-10-27 17:47:34

+0

我沒有例外,問題是如果我失去了網絡連接或能源連接,服務器中的連接繼續下去 – Rafael 2014-10-27 17:50:16

回答

2

使用一個短的TCP keepalive interval,所以服務器很快發現客戶端何時失去連接。

除非您通過邊帶知道客戶端連接丟失,否則沒有其他辦法可以做到這一點 - 在這種情況下,如您所述,您可以在pg_stat_activitypg_terminate_backend(pid)之間查找它。

+0

謝謝你,這是非常有用的 – Rafael 2014-10-28 18:39:46