---
title: "What's New with Monitoring in PostgreSQL 19"
description: "PostgreSQL 19, still in beta when this was written, adds monitoring and observability changes spanning lock contention, logging, WAL, wait events, remote messages, and multixacts. The default for log_lock_waits changes to on, while log_min_messages gains per-process-type levels and autoanalyze receives its own duration setting. A new wal_fpi_bytes counter exposes full-page-image volume cluster-wide, per session, per query, and in VACUUM and ANALYZE logs; new wait events expose WAL write, flush, and replay stages plus COPY file, pipe, and program I/O. Remote server messages now use normal PostgreSQL logging with origin prefixes, and pg_get_multixact_stats() surfaces multixact usage that previously required filesystem inspection and educated guessing. The post also lists upgrade work for parsers, metric collectors, wait-event dictionaries, configuration UIs, and alert thresholds, while noting that final release notes may differ."
---

# What's New with Monitoring in PostgreSQL 19

[Clickhouse](https://yomu.fyi/company/clickhouse) · Aug 18, 2026

**Type:** Explainer

## Summary

PostgreSQL 19, still in beta when this was written, adds monitoring and observability changes spanning lock contention, logging, WAL, wait events, remote messages, and multixacts. The default for log\_lock\_waits changes to on, while log\_min\_messages gains per-process-type levels and autoanalyze receives its own duration setting. A new wal\_fpi\_bytes counter exposes full-page-image volume cluster-wide, per session, per query, and in VACUUM and ANALYZE logs; new wait events expose WAL write, flush, and replay stages plus COPY file, pipe, and program I/O. Remote server messages now use normal PostgreSQL logging with origin prefixes, and pg\_get\_multixact\_stats() surfaces multixact usage that previously required filesystem inspection and educated guessing. The post also lists upgrade work for parsers, metric collectors, wait-event dictionaries, configuration UIs, and alert thresholds, while noting that final release notes may differ.

## Context

PostgreSQL 19 was still in beta, and its monitoring changes address visibility gaps around lock contention, autoanalyze activity, full-page-image WAL volume, WAL and COPY waits, remote-server messages, and multixact disk usage. The final release notes may differ from the beta behavior described.

## Approach / What changed

The release adds or changes monitoring signals and configuration: log\_lock\_waits is enabled by default; log\_min\_messages supports process-type-specific levels; autoanalyze logging has a separate threshold; wal\_fpi\_bytes is exposed through statistics, EXPLAIN, and maintenance logs; new wait events cover WAL and COPY I/O; remote messages receive standard formatting; and pg\_get\_multixact\_stats() reports multixact metrics.

## Takeaways

- log\_min\_messages can use process type:level pairs, allowing different verbosity for processes such as checkpointer and autovacuum while retaining a mandatory fallback level.
- wal\_fpi\_bytes is available in pg\_stat\_wal, per-session statistics, EXPLAIN (ANALYZE, WAL), and VACUUM or ANALYZE logs, enabling comparison with wal\_bytes.
- After upgrading, log parsers and metric collectors need updates for separate autoanalyze logging, new WAL log fields, new wait events, and pg\_get\_multixact\_stats().

**Tags:** [Data Pipelines](https://yomu.fyi/topic/data-pipelines), [Observability](https://yomu.fyi/topic/observability), [Performance](https://yomu.fyi/topic/performance), [Reliability](https://yomu.fyi/topic/reliability)

- Source: [Clickhouse](https://clickhouse.com/blog/postgres-19-monitoring-whats-new)
- Source URL: https://clickhouse.com/blog/postgres-19-monitoring-whats-new
- Ingested by Yomu: 2026-08-29T07:46:26.509Z

[Read original post](https://clickhouse.com/blog/postgres-19-monitoring-whats-new)
