On Mon, Jul 20, 2020 at 7:36 PM Antonin Houska <a...@cybertec.at> wrote:
> Marko Tiikkaja <ma...@joh.to> wrote: > > > 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? > > Can you please share the test that indicates this behavior? As far as I > understand, the transaction must have been committed before the output > plugin > starts to receive the changes. > I don't have a reliable test program, but you can reproduce quite easily with test_decoding if you put a breakpoint before the SyncRepWaitForLSN() call in src/backend/access/transam/xact.c. pg_logicalrecv will see the changes while the session is sitting on the breakpoint, and not finishing its commit. -marko