Re: Logical Replication WIP

From: Petr Jelinek <petr(at)2ndquadrant(dot)com>
To: Craig Ringer <craig(at)2ndquadrant(dot)com>
Cc: Andres Freund <andres(at)anarazel(dot)de>, Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>, Stas Kelvich <s(dot)kelvich(at)postgrespro(dot)ru>, Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>, Simon Riggs <simon(at)2ndquadrant(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Logical Replication WIP
Date: 2016-09-13 20:56:28
Message-ID: 00317157-d6ce-1a2e-8897-68cef29bad50@2ndquadrant.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 13/09/16 02:55, Craig Ringer wrote:
> On 13 September 2016 at 06:03, Petr Jelinek <petr(at)2ndquadrant(dot)com> wrote:
>
>> Oh sure, I don't see that as big problem, the TupleData already contains
>> type of the data it sends (to distinguish between nulls and text data) so
>> that's mostly about adding some different type there and we'll also need
>> type info in the column part of the Relation message but that should be easy
>> to fence with one if for different protocol version.
>
> The missing piece seems to be negotiation.
>
> If a binary-aware client connects to a non-binary aware server, the
> non-binary-aware server needs a way to say "you requested this option
> I don't understand, go away" or "you asked for binary but I don't
> support that".
>

Not sure what you mean by negotiation. Why would that be needed? You
know server version when you connect and when you know that you also
know what capabilities that version of Postgres has. If you send
unrecognized option you get corresponding error.

--
Petr Jelinek http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Petr Jelinek 2016-09-13 21:06:35 Re: autonomous transactions
Previous Message Peter Eisentraut 2016-09-13 20:52:14 Re: [BUGS] BUG #14244: wrong suffix for pg_size_pretty()