Hi all,
The Postgres community is going to discontinue support for version 9.6 in November this year [1]. Subsequently, any managed databases are likely to be upgraded soon, for instance, on AWS RDS any remaining 9.6 instances will be upgraded to newer versions in early 2022.
We are therefore considering to drop support for the wal2json logical decoding plug-in from the Debezium Postgres connector for release 1.8, due at the end of this year [2]. Supporting wal2json has added lots of complexity to the Debezium Postgres connector code base, and is an ongoing source of increased maintenance efforts.
We had added wal2json support to the Debezium Postgres connector initially as back then it was the only option for using Debezium with managed Postgres environments like RDS, where you cannot install Debezium's own decoding plug-in decoderbufs. With the advent of pgoutput in Postgres 10, the need for wal2json has largely diminished, and our recommendation has been for a while now to use pgoutput in managed environments, with decoderbufs being an alternative for on-prem.
In general, the different plug-ins are mostly equivalent in terms of functionality. One difference to note though is that pgoutput, unlike wal2json and decoderbufs, does not emit change events for tables without primary keys. As having such tables isn't a recommended practice, I think this should not be the primary driver for making that decision, though.
If you got any feedback or concerns about this planned removal of wal2json support, please let us know either by replying to this thread or by commenting on the Jira issue linked below.
Thanks,
--Gunnar