Slides from my talk at Citus Con - An Event for Postgres 2023 on Optimizing Postgres for high write workloads.
Talk Abstract below:
As you ramp up the write load on your Postgres database, you will often benefit from tuning checkpoint and WAL related configs for better performance. In the last decade, I’ve personally recommended adjusting parameters like max_wal_size, checkpoint_timeout and checkpoint_completion_target to dozens of customers. However, what they’ve found more useful is understanding the concepts so that they can reason on their own on how to tune these for their workload and also understand how other parameters (eg. full_page_writes) influence checkpoints and WAL generation.
In this talk, you’ll learn what checkpoints are, when they are triggered and how they impact database performance. We’ll also go over the most important configs which impact checkpoints and WAL generation, recommend how to set them and how to monitor and adapt them as your workload changes.