Re: Catalog/Metadata consistency during changeset extraction from wal - Mailing list pgsql-hackers

From Robert Haas
Subject Re: Catalog/Metadata consistency during changeset extraction from wal
Date
Msg-id CA+TgmoZtox_qytZQwNq9LXSmnx0bcirF6tt0gVJgbL8wOF4Ftg@mail.gmail.com
Whole thread Raw
In response to Re: Catalog/Metadata consistency during changeset extraction from wal  ("Kevin Grittner" <Kevin.Grittner@wicourts.gov>)
Responses Re: Catalog/Metadata consistency during changeset extraction from wal  (Andres Freund <andres@2ndquadrant.com>)
List pgsql-hackers
On Mon, Jun 25, 2012 at 12:42 PM, Kevin Grittner
<Kevin.Grittner@wicourts.gov> wrote:
> Perhaps the first question is: Is there enough in common between
> logical replication (and all the topologies that might be created
> with that) and the proposal on the table (which seems to be based
> around one particular topology with a vague notion of bolting
> logical replication on to it after the fact) to try to resolve the
> differences in one feature?  Or should the "identical schema with
> multiple identical copies" case be allowed to move forward more or
> less in isolation, with logical replication having its own design if
> and when someone wants to take it on?  Two non-compromised features
> might be cleaner -- I'm starting to feel like we're trying to design
> a toaster which can also water your garden.

I think there are a number of shared pieces.  Being able to read WAL
and do something with it is a general need that both solutions share;
I think actually that might be the piece that we should try to get
committed first.  I suspect that there are a number of applications
for just that and nothing more - for example, it might allow a contrib
module that reads WAL as it's generated and prints out a debug trace,
which I can imagine being useful.

Also, I think that even for MMR there will be a need for control
logic, resynchronization, and similar mechanisms.  I mean, suppose you
have four servers in an MMR configuration.  Now, you want to deploy a
schema change that adds a new column and which, as it so happens,
requires a table rewrite to add the default.  It is very possible that
you do NOT want that to automatically replicate around the cluster.
Instead, you likely want to redirect load to the remaining three
servers, do the change on the fourth, put it back into the ring and
take out a different one, do the change on that one, and so on.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


pgsql-hackers by date:

Previous
From: "Kevin Grittner"
Date:
Subject: Re: Catalog/Metadata consistency during changeset extraction from wal
Next
From: Robert Haas
Date:
Subject: Re: [COMMITTERS] pgsql: Remove sanity test in XRecOffIsValid.