Como utilizar o PgBouncer para reforçar a segurança do seu banco de dados e ganhar a capacidade de fazer um Disaster Recovery transparente sem ter que mexer na sua aplicação e no seu banco de dados. Ah, ele também é um pool de conexões.
13. Disaster Recovery
Single Point of Failure
O ponto único de falha é responsável pela
fraqueza de toda a estratégia de DR e por isso
deve ser evitado.
32. Configurações
Max_Client_Conn
É o máximo de client connections permitido da aplicação para o
PgBouncer. Lembrar de configurar também o file descriptor limit.
Default_Pool_Size
O tamanho máximo do pool para cada banco de dados configurado.
Min_Pool_Size
É a quantidade de conexões que o Bouncer
Max_Db_Connections
Número máximo de conexões ao servidor de banco de dados,
independentemente da quantidade de pools configurada para o mesmo
db/server.
33. Configurações
Server_Lifetime
O PgBouncer irá matar as conexões que existirem por mais tempo do
que o configurado neste parâmetro (em segundos).
Server_Idle_Timeout
Se a conexão estiver Idle por mais do que o configurado neste
parâmetro, a mesma será encerrada.
Client_Login_Timeout
A conexão do cliente ao PgBouncer será encerrada se o login não for
feito dentro do tempo configurado (em segundos).
34. Configurações Perigosas
Query_Timeout
Queries que estiverem executando por mais tempo do que o
configurado, serão encerradas. Lembre-se de relatórios, cargas de dados, etc.
Query_Wait_Timeout
Ao ser enfileirada para esperar a execução, a query irá esperar o tempo
configurado neste parâmetro, após isso será morta. Se desabilitado, as
queries esperam em fila indefinidamente.
Client_Idle_Timeout
Se a conexão entre cliente e PgBouncer estiver idle por este tempo, a
conexão será derrubada.
Idle_Transaction_Timeout
Se a conexão entre PgBouncer e DB estiver em “idle in transaction” por
este tempo, a conexão será derrubada.