Re: Binary support for pgoutput plugin

From: Dave Cramer <davecramer(at)gmail(dot)com>
To: Petr Jelinek <petr(dot)jelinek(at)2ndquadrant(dot)com>
Cc: Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Binary support for pgoutput plugin
Date: 2019-06-12 14:35:48
Message-ID: CADK3HH+Y-oR1Hv+dFxDV2=69VPbFohDOn+Ji96=boYrFh9pzcA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, 10 Jun 2019 at 07:49, Petr Jelinek <petr(dot)jelinek(at)2ndquadrant(dot)com>
wrote:

> Hi,
>
> On 10/06/2019 13:27, Dave Cramer wrote:
> > So back to binary output.
> >
> > From what I can tell the place to specify binary options would be in the
> > create publication and or in replication slots?
> >
> > The challenge as I see it is that the subscriber would have to be able
> > to decode binary output.
> >
> > Any thoughts on how to handle this? At the moment I'm assuming that this
> > would only work for subscribers that knew how to handle binary.
> >
>
> Given that we don't need to write anything extra to WAL on upstream to
> support binary output, why not just have the request for binary data as
> an option for the pgoutput and have it chosen dynamically? Then it's the
> subscriber who asks for binary output via option(s) to START_REPLICATION.
>

If I understand this correctly this would add something to the CREATE/ALTER
SUBSCRIPTION commands in the WITH clause.
Additionally another column would be required for pg_subscription for the
binary option.
Does it make sense to add an options column which would just be a comma
separated string?
Not that I have future options in mind but seems like something that might
come up in the future.

Dave Cramer

>
>

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2019-06-12 15:06:47 Re: Are there still non-ELF BSD systems?
Previous Message Alexander Lakhin 2019-06-12 14:34:06 Fix inconsistencies for v12 (pass 2)