Re: Binary support for pgoutput plugin

Dave Cramer <davecramer@gmail.com>

From: Dave Cramer <davecramer@gmail.com>
To: Petr Jelinek <petr.jelinek@2ndquadrant.com>
Cc: Tomas Vondra <tomas.vondra@2ndquadrant.com>, Andres Freund <andres@anarazel.de>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2019-06-11T19:44:02Z
Lists: pgsql-hackers

Attachments

OK, before I go too much further down this rabbit hole I'd like feedback on
the current code. See attached patch

There is one obvious hack where in binary mode I reset the input cursor to
allow the binary input to be re-read
>From what I can tell the alternative is to convert the data in
logicalrep_read_tuple but that would require moving a lot of the logic
currently in worker.c to proto.c. This seems minimally invasive.

and thanks Petr for the tip to use pglogical for ideas.

Thanks,
Dave Cramer



>
>

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.