Re: Design for In-Core Logical Replication

From: "Joshua D(dot) Drake" <jd(at)commandprompt(dot)com>
To: Simon Riggs <simon(at)2ndquadrant(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Design for In-Core Logical Replication
Date: 2016-07-20 15:39:44
Message-ID: 578F9B40.5040503@commandprompt.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 07/20/2016 01:08 AM, Simon Riggs wrote:

>
> <!-- doc/src/sgml/logical-replication.sgml -->
>
> <chapter id="logical-replication">
>
> <title>Logical Replication</title>
> <para>
> Logical Replication is a method of replicating data objects and their
> changes, based upon their Primary Keys (or Replication Identity). We

Do we want a limitation based on Primary Key, or would it be possible to
use just UNIQUE or is that covered under Replication Identity?

> <para>
> Logical Replication uses a Publish and Subscribe model with one or
> more Subscribers subscribing to one or more Publications on a
> Provider node. Subscribers pull data from the Publications they
> subscribe to and may subsequently re-publish data to allow
> cascading replication or more complex configurations.

Is that somehow different than Origin/Subscriber or Master/Slave? If
not, why are we using yet more terms?

> <sect1 id="publication">
> <title>Publication</title>
> <para>
> A Publication object can be defined on any master node, owned by one
> user. A Publication is a set of changes generated from a group of
> tables, and might also be described as a Change Set or Replication Set.
> Each Publication exists in only one database.

Then on Provider database:
> <programlisting>
> CREATE PUBLICATION mypub;
> ALTER PUBLICATION mypub ADD TABLE users, departments;
> </programlisting>
> </para>

Outside of my previous comments on reusing terminology that is known to
our community, I like this. Basically a user creates a pool that is
replicating, throws various ducks and small children into the pool and
then replicates. Nice.

Sincerely,

JD

--
Command Prompt, Inc. http://the.postgres.company/
+1-503-667-4564
PostgreSQL Centered full stack support, consulting and development.
Everyone appreciates your honesty, until you are honest with them.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2016-07-20 16:05:57 skink's test_decoding failures in 9.4 branch
Previous Message Robert Haas 2016-07-20 15:26:11 Re: Re: [COMMITTERS] pgsql: Avoid extra locks in GetSnapshotData if old_snapshot_threshold <