3

We are working on building a ETL pipeline. And I have come across these two plugins for postgres to capture the writes and deletes of the table.

Can someone please explain the differences between Wal2json and Pgoutput? What are the pros/cons and performance impact if there are any?

Basically I want to understand when to use among these two plugins in Postgres.

Thanks in advance

1 Answers1

2

They are for different purposes. pgoutput is for use with logical replication between PostgreSQL databases, wal2json is for getting a JSON representation of data modifications for use with third-party applications.

Laurenz Albe
  • 209,280
  • 17
  • 206
  • 263
  • Thanks for the reply. From this article: https://debezium.io/documentation/reference/stable/postgres-plugins.html ``` As of Debezium 0.10, the connector supports PostgreSQL 10+ logical replication streaming using pgoutput. This means that a logical decoding output plug-in is no longer necessary and changes can be emitted directly from the replication stream by the connector. ``` Which means for postgres supporting pgoutput, wal2json is no longer required. Is my understanding correct? – Algorithm Unlock Nov 03 '22 at 17:04
  • Sounds that way. But this is specific to Debezium, which you didn't mention in your question. – Laurenz Albe Nov 03 '22 at 17:07