3 ms·
Logical replication never includes uncommitted data, unless you have written an custom output plugin. EDIT: https://stackoverflow.com/questions/52202534/postgr
by paulddraper 3y ago
Logical replication never includes uncommitted data, unless you have written an custom output plugin.
EDIT: https://stackoverflow.com/questions/52202534/postgresql-does-logical-replication-include-rollback-transaction https://stackoverflow.com/questions/52202534/postgresql-does...
- zknill 3y agoIt's true for protocol version 1 that only the committed data is sent on the replication connection. In protocol version 2 (introduced in postgres 14) large in-progress transactions can appear in the new "Stream" messages sent on the replication connection: StreamStart, StreamStop, StreamAbort, StreamCommit, etc. In the case of large in-progress transactions uncommitted data might end up in the replication connection after a StreamStart message. But you would also receive a StreamCommit or StreamAbort message to tell you what happened to that transaction. I've not worked out what qualifies as a "large" transaction though. But it is _possible_ to get uncommitted data in the replication connection, although unlikely. https://www.postgresql.org/docs/15/protocol-logicalrep-message-formats.html https://www.postgresql.org/docs/15/protocol-logicalrep-messa...