Skip to content
Tool

PgBouncer

Official site

Playbooks for PgBouncer

  1. Diagnosing PgBouncer's max_client_conn limit

    Covers PgBouncer's own client-facing connection ceiling — a different limit from Postgres's max_connections and from PgBouncer's server-side pool sizing. Does not cover prepared-statement errors under transaction pooling (see the two prepared-statement playbooks) or Postgres running out of connections directly (see the postgres-too-many-clients playbook).

    Unverifiedno reproductions yetWhy this confidence?
  2. Fixing 'prepared statement does not exist' under PgBouncer transaction pooling

    Covers the PgBouncer-side mechanism and its two fixes: native prepared-statement tracking (1.21+) or avoiding named server-side prepared statements. Does not cover postgres.js's mirror-image 'already exists' error, which shares the same underlying incompatibility but needs a client-side fix, not a PgBouncer-side one — see the postgres.js playbook, which is not interchangeable with this one despite the similar wording.

    Unverifiedno reproductions yetWhy this confidence?
  3. Fixing postgres.js 'prepared statement already exists' under PgBouncer

    Covers postgres.js's own automatic-prepare feature specifically and its documented fix, `prepare: false`. Does not cover the PgBouncer-side 'does not exist' error or PgBouncer's own max_prepared_statements setting — that's a related but distinct incompatibility with a different remedy, covered in the PgBouncer prepared-statement playbook; the two are not interchangeable even though both involve prepared statements and PgBouncer.

    Unverifiedno reproductions yetWhy this confidence?

Versions