Skip to content

Connection-pooler compatibility: NOTIFY self-test, polling fallback, pgbouncer CI leg, docs matrix #374

Description

@hardbyte

Motivation

pgbouncer / pgcat / RDS Proxy are completely undocumented today (zero mentions in docs/), and transaction-mode pooling silently breaks LISTEN/NOTIFY — Awa's millisecond-pickup mechanism degrades to poll-interval latency with no warning. This is a classic Postgres-queue production trap and a predictable support burden as adoption grows.

Scope

  • Startup NOTIFY self-test: on worker start, verify a round-trip; if NOTIFY does not arrive, log an explicit warning naming the likely cause (transaction-mode pooling) and switch to a documented polling fallback cadence.
  • CI leg: run the integration suite through pgbouncer (session mode and transaction mode) as a nightly matrix dimension.
  • Docs matrix (docs/ + operations handbook): per pooler and mode — what works, what degrades, measured pickup-latency deltas (experiment E7 in the roadmap), and recommended configuration (e.g., dedicated direct connection for the LISTEN channel while pooling the rest).

Acceptance

  • Suite green through pgbouncer session mode; transaction-mode behaviour characterized with the fallback engaged and asserted.
  • The self-test warning is tested (NOTIFY suppressed → warning + fallback cadence).
  • Docs matrix published with measured latency numbers, framed as point-in-time evidence per the 0.6 benchmarking convention.

References

Roadmap: docs/0.7-roadmap.md (WS-3, NEW-10; experiment E7). Related: awa doctor NOTIFY check, docs/deploying-on-managed-postgres.md.

Metadata

Metadata

Assignees

No one assigned

    Labels

    docsDocumentation improvementsoperationalOperational tooling and configuration

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions