Em relação a esse tipo de erro no log do PgBouncer:
2020-03-10 03:46:01.730 EDT [25305] LOG C-0xa5cf00: testdb/[email protected]:49214 closing because: query_wait_timeout (age=120s)
2020-03-10 03:46:01.730 EDT [25305] WARNING C-0xa5cf00: testdb/[email protected]:49214 pooler error: query_wait_timeout
Existe alguma possibilidade de ver (ou registrar) a consulta que acionou o erro? Quais são as causas mais frequentes para esse erro? um servidor parado, um servidor ocupado?
ATUALIZAÇÃO: o arquivo de log do PostgreSQL não mostra nenhum erro em 2020-03-10 03:46:01
A mensagem de log que você compartilhou não é devido a algum erro com uma consulta. Em vez disso, é devido a uma sessão do cliente pgbouncer que está aguardando uma conexão do servidor , mas essa espera levou mais de 2 minutos. Em outras palavras, todas as conexões reais em um pool foram usadas e alguma sessão estava esperando por 2 minutos para ter a oportunidade de executar uma consulta no banco de dados. Pode haver uma série de fatores que causam esta situação:
query_wait_timeout
acontece, e a nova sessão do pgbouncer é inicializada)query_wait_timeout
muito pequeno - você pode ter muitas consultas de longa duração (verifiquepg_stat_activity
se há consultas antigas que ainda estão em execução ou transações ociosas)Pode haver algumas outras razões possíveis para o que você está vendo, mas estas são apenas algumas que vieram à mente.