options for logical replication plugins?

Started by Chris Withersabout 9 years ago3 messagesgeneral
Jump to latest
#1Chris Withers
chris@simplistix.co.uk

Hi All,

What are the current "best" options for logical replication plugins?
I saw wal2json and one that serialized to protobuf instead, and then of
course there's bottledwater, but none of these smell particularly
production ready.

Shame the decoding has to be done on the server-side rather than the
client side.

Chris

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

#2Andres Freund
andres@anarazel.de
In reply to: Chris Withers (#1)
Re: options for logical replication plugins?

Hi,

On 2017-03-15 18:29:06 +0000, Chris Withers wrote:

Shame the decoding has to be done on the server-side rather than the client
side.

Why? You can't filter on the client side. You don't have any catalog
information available, so you'd have to transport a lot of metadata and
/ or decode to a verbose default format.

- Andres

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

#3Chris Withers
chris@simplistix.co.uk
In reply to: Andres Freund (#2)
Re: options for logical replication plugins?

On 15/03/2017 19:18, Andres Freund wrote:

Hi,

On 2017-03-15 18:29:06 +0000, Chris Withers wrote:

Shame the decoding has to be done on the server-side rather than the client
side.

Why?

Requiring compiled extensions to be installed on the server is always
going to be a pain, especially in a multi-tenant environment or
something with Amazon or Google's cloud offerings.

You can't filter on the client side. You don't have any catalog
information available, so you'd have to transport a lot of metadata and
/ or decode to a verbose default format.

Just to check my understanding: a logical replication stream is
per-database, right?

I'd imagine that for many uses of this functionality, having the "whole
stream" in an efficient, compressed format that could be decoded on the
client side, with any filtering or reshaping done there.

cheers,

Chris

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general