Skip to content

Latest commit

 

History

History
191 lines (145 loc) · 12.5 KB

pgconfeu-recap.mdx

File metadata and controls

191 lines (145 loc) · 12.5 KB
title description image author authorEmail date tags published slug ogImage
Recap of PGConf.EU 2024 in Athens
My notes from PGConf.EU 2024 in Athens, Greece. Talks, extension summit, diversity committee meeting, Xata Postgres dinner, and more!
Gulcin Yildirim Jelinek
11-15-2024
postgres
pgconfeu
pgeu
athens
xata
postgresql
postgres-dinner
postgres-europe
europe
extensions
extension-development
extension-summit
diversity-task-force
diversity-committee
pgroll
pgzx
zig
schema-migration
zero-downtime
zero-downtime-deployment
zero-downtime-schema-changes
zero-downtime-migrations
instant-rollback
rollback
uptime
pgconf
pgconf-eu
pgconf-europe
pgconf-2024
pgconf-2024-athens
cloudnativepg
kubernetes
p2d2
prague
fosdem
true
pgconfeu-recap-2024

PGConf.EU 2024 Recap

We finished yet another PGConf.EU in Athens, Greece at the end of October. PGConf.EU is a very special conference for me, and I've written a blog post about it previously here. As usual, it was a great time and I've managed to catch up with dear friends!

Magnus and I, hashtag blamemagnus

Now that the conference is over, I'd like to share some more details about the conference, my experiences, and the talks I attended.

CloudNativePG Training

Day 0 of PGConf.EU is when we do training sessions. My dear friends and former colleagues, Gabriele Bartolini and Leonardo Cecchi, held a CloudNativePG training session. The training was about managing PostgreSQL databases within Kubernetes environments using the CloudNativePG operator.

I've just stopped by to say hi to Gabriele and Leonardo and took a few photos and my colleague Andrew attended the training. We like CloudNativePG a lot at Xata, and if you are interested in learning more about it, I recommend checking out Gabriele's blogs about it. And if you are using CloudNativePG, do not forget to give a star to the CloudNativePG GitHub repository!

PostgreSQL Europe Diversity Committee Meeting

We had the first meeting of the PostgreSQL Europe Diversity Committee. Members of the committee (in alphabetical order) are:

Diversity Committee minus Jimmy and Valeria is Slonik

We had a great time discussing the goals and plans for the Diversity Committee.

The goals of the Diversity Committee are:

  • Broaden the diversity within the “active core” of the PostgreSQL community.
  • Enhance the visibility of underrepresented groups within the PostgreSQL community.
  • Raise awareness about the challenges faced by underrepresented groups within the community and highlight the value that diversity brings to it.
  • Address the “leaky pipeline” issue by lowering the entry barrier, improving the retention of newcomers, and increasing the engagement of the underrepresented individuals who are already part of the community.

Slonik behind the scenes

If you are interested in joining the Diversity Task Force, send us an email at [email protected].

PostgreSQL Extension Ecosystem Summit & pgzx Talk

After the PostgreSQL Europe Diversity Committee meeting, I've attended PostgreSQL Extension Ecosystem Summit, and gave talk about pgzx.

Extension Ecosystem Summit, giving a talk

Zig is a small and simple language that aims to be a "modern C" and make system-level code bases easier to maintain. It provides safe memory management, compilation time code execution (comptime), and a rich standard library. Zig can interact with C code quite naturally: it supports the C ABI, can work with C pointers and types directly, it can import header files and even translate C code to Zig code. Thanks to this interoperability, a Postgres extension written in Zig can, theoretically, accomplish anything that a C extension can. This means you get full power and a modern language and standard library to write your extension.

While in theory you can write any extension in Zig that you could in C, in practice you will need to make sense of a lot of Postgres internals in order to know how to correctly use them from Zig. Also, Postgres makes extensive use of macros, and not all of them can be translated automatically.

This is where pgzx comes in. pgzx is an open-source project that provides a framework for creating PostgreSQL extensions using the Zig programming language. The goal of pgzx is to simplify the process of writing PostgreSQL extensions by leveraging the simplicity and performance benefits of Zig.

What pain points does pgzx address beyond simply enabling Zig development?

  • Easy Integration with Existing C Code: pgzx allows developers to work seamlessly with existing C code without imposing too many abstractions.
  • Handling Postgres C Macros: Postgres code relies heavily on C macros, which do not always compile in Zig. Rather than trying to create an abstraction layer over Postgres, the aim is to use the C Postgres API as much as possible. If limitations arise—such as macros not compiling or issues with type checking—we provide solutions through pgzx.
  • Collaborative Approach: pgzx fosters a collaborative integration with Postgres, working alongside it rather than imposing layers on top or acting against it.
  • A New Way to Build Postgres Extensions

If you are interested in learning more, you can visit the pgzx GitHub repository and take a look at the sample extensions we've built with it.

You can find my slides here and all other talks from the summit here.

Xata Postgres Dinner

After the Extension Ecosystem Summit, I rushed to the restaurant where we hosted the Xata Postgres Dinner. I even had a bit of time to decorate, thanks to the help of friends who arrived early!

Postgres Dinner

We booked the entire floor for 70 people, and everyone showed up! I want to extend a personal thank-you to each attendee. Sharing a nice meal and a few drinks is, in my opinion, the best way to kick off a conference.

Special thanks as well to the amazing staff at Oroscopo Restaurant for their kindness and excellent service in hosting us.

Andrew's Talk: Postgres Schema Migrations using the Expand/Contract Pattern

My colleague Andrew presented his talk about doing Postgres schema changes without downtime using the expand/contract pattern. Our open source tool pgroll implements the expand/contract pattern and offers safe and reversible schema changes for PostgreSQL by serving multiple schema versions simultaneously. It takes care of the complex migration operations to ensure that client applications continue working while the database schema is being updated. pgroll ensures that changes are applied without locking the database, and that both old and new schema versions work at the same time (even when breaking changes are being made!). This removes risks related to schema changes, and greatly simplifies client application rollout, also allowing for instant rollbacks.

If you are interested in learning more, check out our blog post about the talk here. The video of the talk is also available here.

Already using pgroll? Do not forget to give a star to the pgroll GitHub repository.

Favorite Talks

I attended a few talks and some I watched later on. Here are my top 10 talks, ordered by speaker's names.

Upcoming conferences and PostgreSQL Event Calendar

We have 11 months until PGConf.EU 2025 but you don't have to wait that long to meet Postgres people!

Here are some of the Postgres events I follow and plan to attend some of them:

And if this list is not enough, you can always check the PostgreSQL Event Calendar for more.

Summary

PGConf.EU 2024 is over, and it was a blast! I heard it will be somewhere colder next year, and I'm already looking forward to it.

Until then, we can watch all the sessions from PGConf.EU 2024 on YouTube. Happy watching!