Re: Binary support for pgoutput plugin

Dave Cramer <davecramer@gmail.com>

From: Dave Cramer <davecramer@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Petr Jelinek <petr@2ndquadrant.com>, Daniel Gustafsson <daniel@yesql.se>, Alvaro Herrera <alvherre@2ndquadrant.com>, Michael Paquier <michael@paquier.xyz>, Dmitry Dolgov <9erthalion6@gmail.com>, 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: 2020-07-13T13:11:43Z
Lists: pgsql-hackers

Attachments

On Sat, 11 Jul 2020 at 10:20, Tom Lane <tgl@sss.pgh.pa.us> wrote:

> Petr Jelinek <petr@2ndquadrant.com> writes:
> > On 11/07/2020 14:14, Dave Cramer wrote:
> >> So is there any point in having them as options then ?
>
> > I am guessing this is copied from pglogical, right? We have them there
> > because it can optionally send data in the on-disk format (not the
> > network binary format) and there this matters, but for network binary
> > format they do not matter as Tom says.
>
> Ah, I wondered why that was there at all.  Yes, you should just delete
> all that logic --- it's irrelevant as long as we use the send/recv
> functions.
>
>                         regards, tom lane
>


Ok,

removed all the unnecessary options.
Added the test case that Daniel had created.
Added a note to the docs.

Note WAL_DEBUG is removed in patch 3. I could rebase that into patch 1 if
required.

Thanks,

Dave

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.