RustProof Labs: blogging for education (logo)
My book Mastering PostGIS and OpenStreetMap is available!

Postgres 15 Configuration Changes

By Ryan Lambert -- Published October 16, 2022

A few years ago around the time PostgreSQL 12 was released, I created a tool to help identify the changes to postgresql.conf. The pgConfig tool has helped me become (and stay) aware of important changes to Postgres configuration as I work with various major version upgrades. Now that Postgres 15 is available, pgConfig is updated with the latest configuration. This post provides a quick look at changes in the Postgres 15 version of the postgresql.conf options.

Summary of changes

The postgresql.conf for Postgres 15 has 6 new items, 3 changed items and 1 removed item. Visit the pgConfig site to see the full list of changes.

Screenshot showing the summary of changes in configuration from Postgres 14 to Postgres 15.  6 new parameters, 3 updated defaults, and 1 removed.

Changes to logging and statistics

Postgres 15 introduces a new logging option, and changes two existing logging options to be enabled by default. The new log option is log_startup_progress_interval, default 10s, enables logging slow steps during the server start-up process. The log_checkpoints option is now on by default, and log_autovacuum_min_duration is set to 10min. These options are described in the Error Reporting and Logging section.

Another new config option is stats_fetch_consistency, default cache. Postgres 15 is changing how statistics are collected to use shared memory instead of a back end process that writes to disk. This change is related to a new function, pg_stat_clear_snapshot(), and the removal of the stats_temp_directory option. If you use database statistics, it is worth reading the viewing statistics section.

Intriguing addition

The last change I cover in this post hints at a new performance tuning option for workloads using recursive queries. The recursive_worktable_factor option, default 10, allows the query planner to provide better plans on recursive queries. If this is a feature that matters to you, the mailing list discussion is worth reading for the context and intent behind this option. If you use recursive queries, it will probably be worthwhile to test the impact of increasing/decreasing this value for your specific use case.

Summary

This post highlighted changes in the configuration options of Postgres 15. There are a few changes to logging and statistics, and possibly some ability to improve specific recursive queries. Outside of configuration file options, Postgres 15 brings a lot of improvement to the table. I am excited for improvements to unique constraints with null values and the performance enhancements with sorting.

Now that my book Mastering PostGIS and OpenStreetMap is released, I am excited to spend more time putting Postgres 15 to the test!

Need help with your PostgreSQL servers or databases? Contact us to start the conversation!

By Ryan Lambert
Published October 16, 2022
Last Updated October 16, 2022