Skip navigation
Derk van Veen

Derk van Veen

Database Specialist @ Adyen

Derk van Veen is a database specialist at Adyen. Adyen has some very large PostgreSQL databases under continuous high pressure. An important part of his 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.

POSETTE 2026 Talk

My Postgres partitioning cookbook

(Livestream 4)

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.

Speaker Interview

About the Speaker

  • What is my superpower?

    Most people say my superpower is making complicated topics easy to understand in an entertaining way. Hopefully, I will prove it again in this talk.

  • Which book are you reading right now and why did you choose it?

    Currently, I am reading Atomic Habits by James Clear. It provided great insights and even inspired me to create a new talk.

  • What is your favorite hobby?

    Most people know me for traveling to conferences with a chessboard and clock. Fewer people know that I also spend a good amount of time with my diabolo. It provides a great distraction and a reason to be away from the screen. While playing, it forces me to clear my mind and focus entirely on the moment. As soon as the mind drifts, the tricks start to fail.

About the Talk

  • Tell us about your talk. Why did you choose this topic?

    Table partitioning is a topic I am very comfortable with. Over the last four years, I've spent a lot of time on it—exploring the options and boundaries at the early stages and partitioning my first table in an environment with very heavy loads and strict latency demands. Over the years, I learned from my own mistakes and realized the importance of partitioning the entire environment instead of individual tables.

    After revealing new concepts over the last few years, it is now time for a recap: a quick handout on how to successfully apply partitioning to your environment. After this talk, you should be able to successfully apply a partitioning strategy to any database schema you understand well.

  • Tell us about your talk. Why did you choose this topic?

    This talk is for both developers and database specialists. Developers are increasingly in charge of how the schema looks, so they need to understand partitioning as well. Database specialists should know even more about it; they need to be able to guide a solid partitioning plan and optimize queries in a partitioned environment.

  • What do you hope attendees will walk away with after watching your talk?

    After this talk, you should be able to successfully apply a partitioning strategy to a database schema you understand well. You will know exactly what to do and what to avoid.

  • Which talk at POSETTE 2026 are you most looking forward to? And why?

    There are a good number of talks I am looking forward to. Some I will watch simply because I love the speakers or their style — like Boriss, Bruce, and Abe.

    From a technical perspective, the talks I am most looking forward to are:

    PostgreSQL queues done right with PgQ by Alexander Kukushkin, because I see a lot of queuing problems in Postgres databases as load increases. Alexander is technically very skilled, and I am curious to hear his insights.

    I will also definitely watch the recording of:

    Maintaining Large Tables in PostgreSQL by Sarat Balijepalli. From experience, I know the trouble big tables can cause. If I am lucky, I will learn some new skills; otherwise, we can at least share the pain of maintaining big tables!

  • How do you balance technical depth with engaging storytelling in your conference presentations?

    I love this question! In my opinion, every talk is a balance between Education, Entertainment, and Empowerment. The balance between the three can differ based on the speaker, the topic, the audience, and the amount of time you have. But none of these elements can be completely ignored in any presentation.

    Storytelling is just one entertainment technique, but it's one I never leave out. Storytelling gives context, guidance, and creates interest. No matter how technically brilliant a speaker is, if you don't know what they are talking about, you learn nothing and can't apply it to your own life. How much storytelling is enough to inspire interest and provide context depends on the topic, and perhaps on the skills of the speaker. Too much storytelling eats away at the education and empowerment, reducing the overall quality of the talk.

    TL;DR: Your presentation should have enough storytelling to make it understandable in a broader context and keep it interesting. However, you should limit yourself to what is required and not overshoot. And remember, there are plenty of other techniques on the entertainment side to make a presentation appealing.

About PostgreSQL

  • What inspired you to work with PostgreSQL?

    I am sorry to say, it is just a database I bumped into—it was not a deliberate choice! I knew it was popular, and when it was implemented at a company where I was dispatched, I raised my hand to lead the efforts. That is how my journey with PostgreSQL started.

  • What is your favorite PostgreSQL feature, extension, or tool? And why?

    Partitioning, obviously!

  • What is the single thing that you think differentiates PostgreSQL most from other databases?

    For me, it is the community around it. All databases have their strong points and areas to improve. What stands out with Postgres for me is the community and how well people treat each other.

  • Could you share a memorable experience or challenge you faced while working with PostgreSQL?

    Once upon a time, I had an idea to optimize our partitioning plan. I joined forces with a very good developer and built a proof of concept. The resulting performance gain was beyond our expectations: it was 70 times faster! Of course, it was only such a massive improvement because our original design was so bad, but we were still completely blown away.

  • PostgreSQL is open source; did that ever help you in any way, and how?

    Being able to read the source code and the comments within it has saved me multiple times. I remember working on database corruption and needing to understand the commit flags and row header data. Without the source code, that would have been very hard. It was still difficult, but without the source, it would have been close to impossible.

  • If you had a magic wand, what single thing would you change in PostgreSQL as it is today?

    I would add global indexes over partitions with a wave of my wand.

  • Are you involved in any volunteer or community efforts around PostgreSQL? If so, what do you do and why did you get involved?

    Besides speaking at conferences, I am one of the organizers of the second-best PostgreSQL conference in Europe.

About POSETTE & Events

  • Have you enjoyed previous POSETTE (formerly Citus Con) conferences, either as an attendee or as a speaker? If so, what did you enjoy most about it?

    This is my third POSETTE conference as both a speaker and an attendee. What I like most about it is the sheer volume of talks. They are all under half an hour and recorded. Over the years, it has created a massive wealth of information around PostgreSQL.

  • What motivated you to speak at this year’s POSETTE: An Event for Postgres?

    I need very little encouragement to speak; when I see an opportunity, I like to jump on it. POSETTE is a little more difficult for me because it is pre-recorded. Making a recording isn't the same as speaking in front of a live audience, and it takes more energy for me to produce a good recording. But as a reward, the content lives forever and is accessible to everyone.

  • What other PostgreSQL events in 2026 are you excited about and why?

    There are many great events in 2026. The "second-best" PostgreSQL conference will be on September 10th this year, and PGConf.eu is coming up in October. These two are very high on my list.

  • What advice would you give to fellow speakers preparing for a PostgreSQL conference?

    It is about your audience, not about you.

  • What would be helpful to know for a first-time speaker?

    When you are speaking, you are not in the spotlight. That might be what your brain is telling you, but in reality, you are a lighthouse. You are guiding your audience to a new and better place. Shifting the focus from yourself to your audience can make a huge difference in your experience and how the audience perceives you.

  • Could you share a memorable moment from a previous PostgreSQL conference you attended or spoke at?

    At PostgreSQL conferences, I have had some of the most unexpected and open conversations with people. Some of them are among my closest friends today.

Open Forum

  • Is there anything you’d like to share with the Postgres community attending this year’s POSETTE: An Event for Postgres?

    Enjoy the event, learn as much as you can.

Past Talks

Podcast Appearances

elephant icon

talk bubbles
Join the conversation

Use the hashtag #PosetteConf