Postgres 13 Observability Updates
New shiny Postgres 13 has been released and now it’s the time for making some updates to “Postgres Observability” diagram.
New release includes many improvements related to monitoring, such as new stats views and new added fields to existing views. Let’s take a closer look at these.
List of progress views has been extended with two new views. The first one is the “pg_stat_progress_basebackup” which helps to observe running base backups and estimate their progress, ETA and other properties. The second view is the “pg_stat_progress_analyze” as the name suggests, it watches over execute/analyze operations.
The third new view is called pg_shmem_allocations which is supposed to be used for deeper inspection of how shared buffers are used.
The fourth, and the last new view is “pg_stat_slru” related to the inspection of SLRU caches. Both recently added views are help to answer the question “How Postgres spends its allocated memory”
Other improvements are general-purpose and related to the existing views.
The “pg_stat_statements” has few modifications:
- New fields related to time planning have been added, and due to this the existing “time” fields have been renamed to executing time. So all monitoring tools that rely on pg_stat_statements should be adjusted accordingly.
- New fields related to WAL have been added — now it’s possible to understand how much WAL has been generated by each statement.
WAL usage statistics have also been added to EXPLAIN (added WAL keyword), auto_explain and autovacuum. WAL usage stats are appended to the logs (that is if log_autovacuum_min_duration is enabled)
Pg_stat_activity has a new column “leader_pid”, which shows the PID of the parallel group leader and helps to explicitly identify background workers with their leader.
A huge thank you goes to many who contributed to this new release, among which are my colleagues Victor Yegorov and Sergei Kornilov and also those who help to spread the word about Postgres to other communities and across geographies.