Hi,

It appears that when logical decoding sends out the data from the output
plugin, it is not guaranteed that the decoded transaction's effects are
visible on the source server.  Is this the way it's supposed to work?

If so, would doing something like this in the output plugin be reasonable?

    TransactionId xid = transaction->xid;
    if (transaction->is_known_as_subxact)
        xid = transaction->toplevel_xid;

    if (TransactionIdIsInProgress(xid))
        XactLockTableWait(xid, NULL, NULL, XLTW_None);


-marko

Reply via email to