For several years now, PostgreSQL has supported streaming replication. The idea, simply put, is that a master database streams database changes to one or more slave machines. The slave machines then replay those changes, providing us with identical PostgreSQL machines that can be queried in read-only mode. But the setup of such slaves can be a bit complex, and the streaming describes the precise changes that occurred in the database, rather than a logical description of those changes. Logical decoding is a new feature in PostgreSQL that opens to door to better streaming replication, and also to new applications that can take advantage of these logical descriptions. In this talk, Alvaro Hernandez describes the motivation behind logical decoding, the ways in which you can implement it, and ways in which you might want to take advantage of it — for replication, but beyond it, as well.