Re: Binary support for pgoutput plugin

Dmitry Dolgov <9erthalion6@gmail.com>

From: Dmitry Dolgov <9erthalion6@gmail.com>
To: Dave Cramer <davecramer@gmail.com>
Cc: Thomas Munro <thomas.munro@gmail.com>, Tomas Vondra <tomas.vondra@2ndquadrant.com>, Petr Jelinek <petr.jelinek@2ndquadrant.com>, Andres Freund <andres@anarazel.de>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2019-11-08T16:22:32Z
Lists: pgsql-hackers
> On Tue, Nov 05, 2019 at 07:16:10AM -0500, Dave Cramer wrote:
>
> See attached

    --- a/src/backend/replication/logical/worker.c
    +++ b/src/backend/replication/logical/worker.c
    @@ -1779,6 +1779,7 @@ ApplyWorkerMain(Datum main_arg)
        options.slotname = myslotname;
        options.proto.logical.proto_version = LOGICALREP_PROTO_VERSION_NUM;
        options.proto.logical.publication_names = MySubscription->publications;
    +	options.proto.logical.binary = MySubscription->binary;

I'm a bit confused, shouldn't be there also

	--- a/src/backend/catalog/pg_subscription.c
	+++ b/src/backend/catalog/pg_subscription.c
	@@ -71,6 +71,7 @@ GetSubscription(Oid subid, bool missing_ok)
			sub->name = pstrdup(NameStr(subform->subname));
			sub->owner = subform->subowner;
			sub->enabled = subform->subenabled;
	+       sub->binary = subform->subbinary;

in the GetSubscription?



Commits

  1. Weaken type-OID-matching checks in array_recv and record_recv.

  2. Fix construction of updated-columns bitmap in logical replication.

  3. Allow logical replication to transfer data in binary format.

  4. Phase 2 pgindent run for v12.