What’s New with Monitoring in PostgreSQL 19

October 20–23
Level: Intermediate

PostgreSQL 19 ships a focused set of monitoring improvements that, taken together, close several long-standing observability gaps. This talk walks through the changes that matter most for DBAs, platform engineers and tooling authors.

On the logging side, log_lock_waits is now enabled by default, making lock contention visible out of the box without manual configuration. log_min_messages now accepts a comma-separated list of type:level pairs, letting operators set different log verbosity per process type. Autoanalyze logging is also split from autovacuum with the new log_autoanalyze_min_duration setting, giving independent control over two very different maintenance operations.

For WAL and I/O observability, VACUUM and ANALYZE logging now report WAL full page write bytes, surfacing the true I/O cost of maintenance workloads. New wait events cover WAL write and flush LSNs, while new I/O wait events for COPY operations on pipes, files and programs fill coverage gaps that previously made it difficult to attribute I/O time to specific operations.

Messages from remote servers (replication, postgres_fdw, and dblink) now appear in the server log in the same format as local messages, making log correlation across distributed setups significantly easier.

Finally, the new pg_get_multixact_stats() function exposes multixact activity that was previously opaque and the XID wraparound warning threshold has been raised from 40 million to 100 million transactions, giving operators more lead time to react.

The talk will close with a look at what these changes mean for existing observability tooling and where gaps remain heading into PostgreSQL 20.

Back

Join Us For PostgreSQL Conference Europe 2026

October 20–23 2026

Palacio de Congresos, Valencia, Spain