On 29.03.21 11:13, Amit Kapila wrote:
This might or might not be valid for all logical replication solutions
but in the publisher-subscriber model, it would easily lead to
duplicate identifiers and block the replication. For example, when
there are multiple subscriptions (say - 2) for multiple publications
(again say-2), the two subscriptions are on Node-B and two
publications are on Node-A. Say both publications are for different
tables tab-1 and tab-2. Now, a prepared transaction involving
operation on both tables will generate the same GID.

I think you are misunderstanding. This is about a globally unique identifier for a transaction, which has nothing to do with a GID used to prepare a transaction. This *needs* to be the same for what logical is the same transaction.

What GID a downsteam subscriber uses when receiving messages from some non-Postgres-provided output plugin clearly is out of scope for this documentation. The point is to highlight how the xid can be useful for filter_prepare. And that serves transaction identification purposes.

Regards

Markus


Reply via email to