Re: Binary support for pgoutput plugin - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Binary support for pgoutput plugin
Date
Msg-id 2904388.1594751797@sss.pgh.pa.us
Whole thread Raw
In response to Re: Binary support for pgoutput plugin  (Dave Cramer <davecramer@gmail.com>)
List pgsql-hackers
Dave Cramer <davecramer@gmail.com> writes:
> 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?

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

There are, but they're all base types, so this terminology is still
unhelpful ;-).

It'd be possible for the sender to send binary for columns it has a
typsend function for, and otherwise send text.  However, this only helps
if the receiver has receive functions for all those types; in
cross-version cases they might disagree about which types can be sent
in binary.  (Hm ... maybe we could have the receiver verify that it has
typreceive for every column included in its version of the table, before
asking for binary mode?)

            regards, tom lane



pgsql-hackers by date:

Previous
From: Floris Van Nee
Date:
Subject: RE: Index Skip Scan (new UniqueKeys)
Next
From: Robert Haas
Date:
Subject: Re: INSERT INTO SELECT, Why Parallelism is not selected?