# Postgres 15: Logical Decoding Row Filters With Debezium

DevFeed: [Postgres 15: Logical Decoding Row Filters With Debezium](<https://devfeed.tech/articles/postgres-15-logical-decoding-row-filters-with-debezium-18858.md>)

Original publisher: [Read original article](<https://www.morling.dev/blog/postgres-15-logical-decoding-row-filters-with-debezium/>)

Published: 2022-12-15T00:00:00Z

Content type: tutorial

Language: en

Sources: [Gunnar Morling](<https://devfeed.tech/sources/gunnar-morling.md>)

Topics: [Database](<https://devfeed.tech/topics/database.md>), [Replication](<https://devfeed.tech/topics/replication.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [configuration](<https://devfeed.tech/tags/configuration.md>), [connectors](<https://devfeed.tech/tags/connectors.md>), [data](<https://devfeed.tech/tags/data.md>), [database](<https://devfeed.tech/tags/database.md>), [debezium](<https://devfeed.tech/tags/debezium.md>), [decoding](<https://devfeed.tech/tags/decoding.md>), [network](<https://devfeed.tech/tags/network.md>), [pii](<https://devfeed.tech/tags/pii.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [privacy](<https://devfeed.tech/tags/privacy.md>), [replication](<https://devfeed.tech/tags/replication.md>), [server](<https://devfeed.tech/tags/server.md>)

## AI overview

This tutorial explains how Postgres 15 row filters for logical decoding can be used with Debezium to produce more targeted change data streams. It contrasts server-side filtering with Debezium-side configuration and transformations, including use cases involving bandwidth reduction, privacy, and tenant-specific streams. It also notes a Postgres bug affecting UPDATE and DELETE events when column lists are used.

## Source excerpt

Table of Contents Using Logical Decoding Row Filters With Debezium Observing Filtered Change Events Wrap-Up This post originally appeared on the Decodable blog. All rights reserved. Since logical decoding was added to Postgres in version 9.4, this powerful feature for capturing changes from the write-ahead log of the database has been continuously improved. Postgres 15, released in October this year, added support for fine-grained control over which columns (by means of column lists) and rows (via row filters) should be exported from captured tables. This means, in relational terminology, projections and filters are now natively supported by Postgres change event publications.