PostgreSQL連線問題

2021-09-26 04:26:31 字數 658 閱讀 2237

近日用postgresql和npgsql寫過程式,由於客戶數量有300多個,所以有的就連線不上了。

調整了max_connection為500,問題是解決了,可是記憶體使用也是猛漲。差了點資料,估計可通過兩個方面解決一下問題:

postgresql的連線池,如pgbouncer;

解決方法:

1、在連線字串中加入pooling=false;

這樣客戶端npgsql不把連線保留在pool中,每次close都真真正正的把這個連線關掉,這樣postgresql伺服器上

相關的postgres.exe程序也被結束,如果並行程度不是非常高,max_connection為100足夠了。

這樣做完的好處是伺服器上postgres.exe程序少了,記憶體占用也少了。缺點是每次連線伺服器都要重新建立

postgres.exe程序,浪費一些cpu資源。根據專案的特點和伺服器的配置選擇是否要用這個選項,如果記憶體是瓶頸

2、調整了一下connectionlifetime,好像沒什麼作用。

3、呼叫clearallpools();    clearpool();等函式及時清理不用的連線。

4、在windows平台下的postgresql的一些配套軟體pgpool、pgbouncer等目前不能用,如果在unix等平台上倒是

可以用它們調調效能。

QT連線PostgreSQL步驟

1.編譯驅動 其次 在qt的src plugins sqldriver psql目錄下修改psql.pro,加入 includepath d postgresql 9.2 include libs d postgresql 9.2 lib libpq.lib 將postgresql對應的目錄加入 最...

nodejs連線postgreSQL資料庫

nodejs連線pg資料庫有兩種方式,一種是直接連線 操作 斷開 還有一種是使用連線池,這種方式可以有效提公升多併發的效率 下邊是使用兩種不同方式的測試 var pgopt require pg 使用連線池 function connectpgwithpool var pgpool new pgop...

PostgreSQL自連線查詢

首先sql中的自連線查詢是一種比較特殊的多表查詢方式,其特殊之處就在於資料 於同一張表。很多時候我們在第一次接觸自連線查詢時會比較迷亂,不知道怎麼去理解。所以我們在處理這種自連線查詢時,不要去刻意的在意只有一張表,而是把這張 表當作乙個檢視,我們需要查資料,就給其取乙個別名,這樣就刻意把之前的表認為...