This release adds 2 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+10 more
Affected surfaces
Summary
AI summaryConcurrent async polling with connection reuse improves responsiveness and reduces backend churn.
Full changelog
Concurrent async polling with connection reuse
The monitoring loop was rewritten to poll all hosts concurrently using libpq's non-blocking API and a single poll() over their sockets. A slow or hung host no longer blocks updates for the other hosts — fast hosts continue refreshing on their own cadence while the slow one waits for its own deadline.
PostgreSQL connections are now kept alive between polling iterations instead of being torn down and re-opened on every cycle. This eliminates the per-iteration TCP + auth handshake and noticeably reduces backend churn on the PostgreSQL side (visible in pg_stat_activity — backends now persist across many iterations rather than appearing and disappearing every sleep_ms).
To bound long-tail behavior:
pg_status__query_timeout_ms(new, default 5000) — hard deadline for one poll iteration (connect + send + read). On expiry the connection is closed and the host's failure counter is incremented.pg_status__conn_max_age_ms(new, default 300000 = 5 min) — max age of a reused connection. Older connections are recycled on the next iteration so stale state (intermediate NAT, server-side cleanup, etc.) cannot accumulate.
Worst-case time from healthy to dead is now roughly max_fails × query_timeout_ms.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About Pg-status
All releases →Related context
Related tools
Beta — feedback welcome: [email protected]