Skip navigation


Polina Bungina

Polina Bungina

Senior Software Engineer, Zalando SE

Software and database engineer at Zalando. Greenplum contributor in the past, Patroni maintainer now (the smaller one :) ).

POSETTE 2024 Talk

Hazards of logical decoding in PostgreSQL

(Livestream 4)

Logical decoding was introduced in PostgreSQL 9.4 and has been greatly improved since then. One of the popular use cases of this feature is implementation of the Change Data Capture (CDC) pattern. Although developers are usually eager to adopt this modern approach to make use of all the apparent benefits it brings, my strong belief is that usage of logical decoding in PostgreSQL requires at least a basic understanding of the implementation and should definitely be treated with great care. In this talk I will share the problems we, as Zalando's DBaaS team, dealt with while adopting and maintaining our internal CDC solution based on logical decoding and point you out to the nuances you should always keep in mind when using this technology.

Speaker Interview

About the Speaker

  • Tell us about yourself: career, family, passions

    I started my career with Greenplum technology, which is essentially a fork of Postgres. It was first about writing management and monitoring scripts but later I was able to go deeper into the code and contribute to various parts of the project (mostly by fixing bugs). Two years ago I moved to Germany and switched my focus to vanilla Postgres and database engineering tasks.

  • What is your favorite hobby?

    Doing makeup while listening to a true crime podcast or watching another video about air accidents.

About the Talk

  • What will your talk be about, exactly? Why this topic?

    I will be talking about logical decoding in PostgreSQL and what I think is important to know before building your CDC solution based on it. This is essentially what we, as Zalando’s DBaaS team, learned the hard way and what can come in handy for those who will be implementing and maintaining similar solutions. And who knows, maybe there will be a discussion about possible ways to improve logical decoding. It is, no doubt, a useful and advanced Postgres feature, but in my humble opinion, it is still not straightforward and rather difficult to use.

  • What is the audience for your talk?

    I would say DBAs and database engineers—to be prepared for the possible complications with a logical decoding-based CDC solution integrated with the Postgres clusters they administrate and provide support for. But also database users and application developers—to ensure they are implementing their systems correctly and do not complicate the lives of their DBAs.

About PostgreSQL

  • What inspired you to work with PostgreSQL?

    It is advanced, reliable and open-source.

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

    Patroni, of course. I went all the way from absolutely hating this code and bullying the author to proudly being the second maintainer. But jokes aside, it is difficult to overestimate how much work it does for us and how well it ensures our infrastructure’s high availability.

  • What are your favorite resources for learning about PostgreSQL?

    Just reading the source code. Nothing beats this. :)

About POSETTE & Events

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

    The promotion campaign was very encouraging, and the format seemed more relaxed than at the offline conferences.

The Postgres team at Microsoft is proud to be the organizer of POSETTE: An Event for Postgres (formerly Citus Con).