Se eu configurar um arquivo de configuração pgbouncer.ini com várias entradas de banco de dados, o pgBouncer criará um pool separado para cada um? Eu acho que sim, mas não fui capaz de confirmar isso.
Por exemplo, com algo assim:
[bancos de dados] db1 = ... db2 = ... [pgbouncer] . . . max_client_conn = 480 default_pool_size = 250
Eu teria um pool padrão de 250 para cada banco de dados e um máximo de 480, ou um total de 250 padrão e máximo de 480 conexões compartilhadas entre ambos?
Muito obrigado!
Sim, o pgbouncer cria um pool separado para cada banco de dados. Você realmente não quer um tamanho de pool tão grande quanto 250 em um cenário como este - porque são 250 conexões do pgbouncer para o servidor postgres para cada banco de dados .
O máximo de 480 é o número total de conexões de clientes no pgbouncer, independentemente de qual banco de dados eles acessam.
Você terá um pool por banco de dados por usuário (ou função) de omitir a especificação do usuário nas linhas db1 ou db2 dentro da seção [bancos de dados]. Embora você possa impor a conexão com algum usuário predefinido, se desejar.
Você meio que entendeu mal o que
max_client_conn
é. É o limite de conexões "leves". As conexões máximas feitas PARA pgbouncer não para o servidor de banco de dados.