Re: Design for In-Core Logical Replication - Mailing list pgsql-hackers
From | Robert Haas |
---|---|
Subject | Re: Design for In-Core Logical Replication |
Date | |
Msg-id | CA+TgmoY7NeH-erSjtL47N9DFbKxByj-OhXBbFQmVmCFZhqfOzg@mail.gmail.com Whole thread Raw |
In response to | Design for In-Core Logical Replication (Simon Riggs <simon@2ndquadrant.com>) |
Responses |
Re: Design for In-Core Logical Replication
Re: Design for In-Core Logical Replication |
List | pgsql-hackers |
On Wed, Jul 20, 2016 at 4:08 AM, Simon Riggs <simon@2ndquadrant.com> wrote: > In this post, Petr and I present a joint view on a design for how this > should work in-core, based upon our implementation experiences with physical > replication, pglogical and various comments so far. > > Note that this has substantial user-visible differences from pglogical, > though much of the underlying architecture is reused. > > I should stress that not all of the aspects are implemented yet. The post > here today is a combination of all of our attempts to bring architecture, > usability and security into one place, including a coherent way of > describing the features and how they work. > > Your comments and questions are sought now as we begin the main development > effort to get this into PostgreSQL 10.0 Thanks for publishing this. One minor comment is that this document makes extensive use of Terms With Initial Capitals, which seems stylistically odd, although I'm not precisely sure what would be better. I would have expected that there would be a concept of a REPLICATION SET, defining which tables are to be replicated; here, that seems to be the Publication. That may fine, but I wonder if there is any value in separating those things. It's clear, for example, that a replication set can be dumped: which tables are members of which replication sets is durable metadata. It's less clear that a publication can be dumped; that might include things which are not durable metadata, such as associations with slots. It's generally not really clear to me based on reading this exactly what information is encapsulated in a Publication or a Subscription, which makes it hard to evaluate design decisions like this one: > <para> > The definition of a Publication object will be included within > pg_dump by default when all of the objects in the Publication are > requested as part of the dump specification. > </para> > <para> > Subscriptions are not dumped by pg_dump by default, but can be > requested using --subscriptions parameter. > </para> I think that to really understand exactly what you and Petr have in mind, we'd need a description of where publication and subscription data is stored within the server, and exactly what gets stored. Perhaps that will come in a later email. I'm not bashing the design, exactly, I just can't quite see how all of the pieces fit together yet. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
pgsql-hackers by date: