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

From Dave Cramer
Subject Re: Binary support for pgoutput plugin
Date
Msg-id CADK3HHJ6X9nGn5=S6Hcq1qunpjjmMa8S89QP_CwvhXMZDWL=TQ@mail.gmail.com
Whole thread Raw
In response to Re: Binary support for pgoutput plugin  (Dave Cramer <davecramer@gmail.com>)
Responses Re: Binary support for pgoutput plugin  (Alvaro Herrera <alvherre@2ndquadrant.com>)
List pgsql-hackers


On Mon, 11 Nov 2019 at 12:07, Dave Cramer <davecramer@gmail.com> wrote:


On Mon, 11 Nov 2019 at 12:04, Alvaro Herrera <alvherre@2ndquadrant.com> wrote:
On 2019-Nov-11, Dave Cramer wrote:

> Previously someone mentioned that we need to confirm whether the two
> servers are compatible for binary or not.
>
> Checking to make sure the two servers have the same endianness is obvious.
> Sizeof int, long, float, double, timestamp (float/int) at a minimum.
>
> this could be done in libpqrcv_startstreaming. The question I have
> remaining is do we fall back to text mode if needed or simply fail ?

I think it makes more sense to have it fail.  If the user wants to retry
in text mode, they can do that easily enough; but if we make it
fall-back automatically and they set up the received wrongly by mistake,
they would pay the performance penalty without noticing.


Alvaro,

thanks, after sending this I pretty much came to the same conclusion.

Dave

Following 2 patches address Dmitry's concern and check for compatibility.
 
Attachment

pgsql-hackers by date:

Previous
From: Andrew Dunstan
Date:
Subject: Re: TestLib::command_fails_like enhancement
Next
From: Dmitry Dolgov
Date:
Subject: Re: Binary support for pgoutput plugin