Postgresql

PgBouncer 是否為每個數據庫配置條目創建一個單獨的池?

  • August 25, 2017

如果我設置了一個包含多個數據庫條目的 pgbouncer.ini 配置文件,那麼 pgBouncer 是否會為每個條目創建一個單獨的池?我會這麼認為,但無法證實這一點。

例如,像這樣:

[數據庫]
db1 = ...
db2 = ...

[pgbouncer]

.
.
.
max_client_conn = 480

default_pool_size = 250

我會為每個數據庫設置一個 250 個預設池,最多 480 個,還是在兩者之間共享****總共250 個預設連接和最多 480 個連接?

非常感謝!

是的,pgbouncer 為每個數據庫創建一個單獨的池。在這種情況下,您真的不希望池大小達到 250 - 因為對於每個數據庫,從 pgbouncer 到 postgres 伺服器的連接是 250 個。

最大值 480 是從客戶端到 pgbouncer 的連接總數,無論它們進入哪個數據庫。

我會為每個數據庫設置一個 250 個預設池,最多 480 個,還是在兩者之間共享總共 250 個預設連接和最多 480 個連接?

每個使用者(或角色)每個數據庫都有一個池,您省略在 db1 或 db2 行中指定使用者

$$ databases $$部分。儘管您可以根據需要強制與某些預定義使用者進行連接。 你有點誤解什麼max_client_conn是 . 這是“輕量級”連接限制。TO pgbouncer 與數據庫伺服器的最大連接數。

引用自:https://dba.stackexchange.com/questions/36724