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: Daniel Gustafsson <daniel@yesql.se>, Petr Jelinek <petr@2ndquadrant.com>, 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-14T18:08:53Z
Lists: pgsql-hackers

Attachments

On Tue, 14 Jul 2020 at 12:59, Tom Lane <tgl@sss.pgh.pa.us> wrote:

> So I started looking through this seriously, and my first question
> is why do the docs and code keep saying that "base types" are sent
> in binary?  Why not just "data"?  Are there any cases where we
> don't use binary format, if the subscription requests it?
>
> If there's not a concrete reason to use that terminology,
> I'd rather flush it, because it seems confusing.
>

Well for some reason I thought there were some types that did not have send
and receive functions.

I've changed the docs to say data and the flag from binary_basetypes to
just binary

See attached.

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.