Logical decoding is one of the most prominent features of PostgreSQL 9.4 but, probably, not the most praised or known. It is the basis for in-core logical replication and many other replication solutions that will be coming to future PostgreSQL versions. But logical decoding is much more than that, it opens the doors to a whole new slew of applications that are not related, or do not require, replication.
Following PostgreSQL's extensibility tradition, logical decoding is pluggable (you can plug in code to determine what the output format is) and, most importantly, it is externally controllable. With this toolset, database DMLs can be streamed to third-party applicationss, enabling middleware solutions for data replication, filtering, modification, routing or interchange with different systems. A new world of data interchange and integration.
This talk explained how logical decoding works, what features does it have, and how to use it from external applications, diving deep into the techniques and the code. Real world examples would be provided and a discussion about new PostgreSQL-based middleware solutions would be started.