Gathering in Prague

The annual PGconf.EU is the largest and best occasion for CYBERTEC staff to meet in person, since most of them are scattered across central and Eastern Europe. For the 2023 edition, held in Prague — a city that had already hosted the conference in 2012 — three employees based near Mönchengladbach drove there together and collected a fourth colleague in Gießen on the way. They left around 9.00 on Tuesday and reached Prague around 20.00 after a mostly uneventful trip. Most of the team was already present, and roughly 20 people, including guests from friendly companies, gathered for a company dinner in the open space between the restaurants of the neighboring mall.

pgconf.eu Prague 2023

Wednesday: standards, threads and patches

Conference sessions proper began on Wednesday, after Tuesday's trainings. Simon Riggs opened with a keynote looking back at 20 years of PostgreSQL development and ahead to the next 20. His argument: the project is already the "most admired" database according to a StackOverflow developer survey, and should now pursue pervasiveness — a theme several later talks picked up.

Peter Eisentraut then described the daily work of the SQL standard committee. Two PostgreSQL representatives currently sit on it, Peter himself and Vik Fearing. Where the standard was once thrown over the fence every few years by the big database players, he argued, the project is now itself a big player and shares the obligation to carry it forward.

Heikki Linnakangas followed with the bullet points that would have to be addressed for PostgreSQL to move to a thread-based model. He collected the list from feedback on a pgsql-hackers discussion he had started and does not intend to do all the work alone. The likely outcome is that the change happens eventually, but as a major effort spanning several major releases.

Melanie Plageman's talk covered how to get patches into shape for commit, with the gist being mostly "talk to people" — and conferences are a good place for that. Several committers in the audience commented on the review process, Peter Geoghegan among them, remarking that everyone seems to assume the committers know what they are doing. The speaker had patches of his own queued up for the hackers list. The CYBERTEC and Microsoft booths were adjacent, so Melanie and he could continue the conversation about the community.

Next came colleague Bernd Helmle's "The Migration Puzzle" on the difficulty of getting everyone on board for migration projects — again, talking to people is the key to success. Robert Haas then weighed what works and what does not in autovacuum. As a PostgreSQL consultant of long standing, the listener already knew what to expect and was pleased to see it summarized; he was especially delighted that Robert named the same defect he had been thinking about — too many switches, the GUCs, and the need for fewer of them.

The following slot was skipped in favor of the PostgreSQL Europe reception that evening. Drink vouchers were plentiful, with Dave and Magnus restocking throughout, and ending the night with vouchers left over was difficult.

Thursday: faceting, filesystems and async IO

Six talks and an evening without much of a break took their toll, and Thursday was spent at a slower pace, with more time at the booth. The Patroni suitcase again drew many visitors wanting to flip the power switches and watch how fast failover between the three nodes would happen; the ducks were cute as well.

PGConf.eu Prague 2023_2
pgconf.eu Prague 2023_ducks

Ants Aasma's talk on faceting stood out as the best of the conference: a relevant real-world problem, well presented, with an impressive solution (a 500x speedup) and clear technical detail. Counting subsets of the full 100 million rows is replaced by counting bits in intersections of precomputed bitmaps for each interesting attribute, using low-level algorithms from a library for "roaring bitmaps" available as a PostgreSQL extension — not packaged yet, but of interest.

Lætitia Avrot's tricks for solving Advent of Code puzzles in pure SQL followed. Having learned Python that way and watched others use SQL for it before, the listener found little insight in the talk.

Tomas Vondra's classic reloaded session on Linux filesystem performance with PostgreSQL delivered lots of numbers; the answer always depends on the use case, but the takeaway remains that the major filesystems are generally on par. The recommendation stands: use the filesystem whose operation and debugging people know — ext4 in this case, though xfs will also serve others well, or btrfs and zfs where snapshotting is a requirement.

After the tea break, Andres Freund covered the path to asynchronous IO and direct IO in PostgreSQL, together with vectored IO requests. Considerable work is under way and some parts are already committed; this is likely to land as a main feature well before threads do.

The day closed with keynotes from the platinum sponsors, starting with the listener's boss Hans. His message was that open source matters to data because social security data has to be stored for up to a century — an easy message to agree with. Being tired, the listener skipped the remaining keynotes and left the evening pub early after a subway ride to another part of Prague.

Friday: upgrades, slots and Kubernetes

Alex Sosna opened Friday with zero-downtime major upgrades at GitLab. The engineering behind upgrading without taking the API down was impressive, and response-time spikes are in fact greater during ordinary weekday operation than during the upgrade itself. Most of the slot, however, went into slide preparation: earlier in the week Devrim had caught the speaker near the lightning-talks sign-up flip-chart and got a commitment for a "State of PostgreSQL in DEBs" talk to match his own "State of PostgreSQL in RPMs". The slides were mailed in before lunch.

Peter Eisentraut then explained how pg_failover_slots fills a missing piece when logical replication runs on top of a physical replication HA cluster — a problem that will hopefully be integrated into PostgreSQL core some day.

Colleague Matthias Grömmer demonstrated PostgreSQL in Kubernetes with backups and failover. The whole cloud world is still new to this listener, so practical examples were welcome, and the format worked well: a live demo with no slides at all, just terminals and web UIs.

After lunch it was colleague Pavlo Golub's turn, on PostgreSQL monitoring using the built-in metrics and how pgwatch uses them, with pgwatch3 possibly close to release.

The conference ended with the lightning talks. Too many to remember individually, but all enjoyable. The DEB talk had 20 prepared slides for a five-minute slot — a lot, though most only covered packages added to apt.postgresql.org over the past year. Nearly all were presented, and the audience seemed to like it.

pgconf.eu Prague 2023_talk

That evening the group finally escaped the hotel after essentially three days inside and looked for a restaurant near central Prague. It being Friday, they walked a fair distance before finding a bar able to host ten people. Food and beer were enjoyable, and everyone was content.