diff --git a/src/backend/replication/walsender.c b/src/backend/replication/walsender.c index 636f296b994..60985a68fb2 100644 --- a/src/backend/replication/walsender.c +++ b/src/backend/replication/walsender.c @@ -1082,9 +1082,6 @@ WalSndWriteData(LogicalDecodingContext *ctx, XLogRecPtr lsn, TransactionId xid, TimestampTz now; int64 now_int; - /* output previously gathered data in a CopyData packet */ - pq_putmessage_noblock('d', ctx->out->data, ctx->out->len); - /* * Fill the send timestamp last, so that it is taken as late as possible. * This is somewhat ugly, but the protocol's set as it's already used for @@ -1097,6 +1094,9 @@ WalSndWriteData(LogicalDecodingContext *ctx, XLogRecPtr lsn, TransactionId xid, memcpy(&ctx->out->data[1 + sizeof(int64) + sizeof(int64)], tmpbuf.data, sizeof(int64)); + /* output previously gathered data in a CopyData packet */ + pq_putmessage_noblock('d', ctx->out->data, ctx->out->len); + CHECK_FOR_INTERRUPTS(); /* Try to flush pending output to the client */