My Postgres partitioning cookbook | POSETTE: An Event for Postgres 2026

Microsoft Developer · Beginner ·🔧 Backend Engineering ·3w ago

Key Takeaways

Covers Postgres partitioning best practices and lessons learned from mistakes, presented at POSETTE 2026

Original Description

Avoid years of partitioning mistakes in Postgres. Derk van Veen (Adyen) shares lessons in his talk “My Postgres partitioning cookbook” at POSETTE: An Event for Postgres 2026. Abstract: Over the last three years, I have tried every single thing I could think of with Postgres partitions, and I made many mistakes. Most of them on my laptop; some lessons were a bit more painful. I've seen my fair share of performance problems and converted inheritance-based partitions to native and back. I've created many default partitions and by now managed to almost drop all of them. In this session, I want to go over all my lessons learned, especially the ones that surprised me the most. I will cover the basics about index and foreign key creations and implicit inheritance. And how the foreign keys caused catalog corruptions because of cleaning up data. I will discuss the good, the bad, and the ugly of the default partition and leave it to you to judge them as a blessing or a curse. An important part of working with Postgres partitions is cheating with the catalog. When I proposed this to my team the first time, everybody was nervous about it, as they should have been, but these days we do it without thinking. It is bad practice, but sometimes it is just the only way to get things done. This presentation will show you the basics but also shows the pitfalls (mines) and obvious mistakes you can easily avoid. Derk van Veen is a database specialist at Adyen. Adyen has some very large PostgreSQL databases under continuous high pressure. An important part of Derk’s job is to find creative solutions for tough problems. Whenever he, or his team, finds interesting solutions he tries to share the lessons learned with the PostgreSQL community. ► Video chapters: ⏩ 00:00 – Music & introduction ⏩ 02:28 – Why large tables need partitioning ⏩ 04:42 – Why range partitioning wins ⏩ 05:52 – Time and integer partitioning examples ⏩ 07:02 – The hidden risks of default partitions ⏩ 08:29 – How defaul
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Related Reads

📰
Conditional Operator (`?:`) in Java
Learn to use the conditional operator in Java to simplify your code and improve readability
Dev.to · Rajesh Bhola
📰
I couldn't find an npm package to sort filenames into buckets, so I built one
Learn how to create an npm package to sort filenames into buckets and apply it to a file-management feature
Dev.to · Elizabeth Sobiya
📰
Why FastAPI Apps Slow Down Over Time (Low CPU, High Latency Explained)
Learn how to identify and fix common issues that slow down FastAPI apps over time, such as session leaks and blocking code, to improve performance and reduce latency
Dev.to · Ayush Kumar
📰
When `await mutation()` lies: the `{ error }` destructuring that saves your weekend
Learn how to handle errors when using await mutation() to save time and frustration in your coding projects
Dev.to · Michel Faure
Up next
Indian Express Editorial Analysis by Chandan Sharma - 1 JULY 2026 | UPSC Current Affairs 2026
StudyIQ IAS
Watch →