On Thu, Jan 12, 2017 at 9:53 AM, James Sewell <james.sewell@jirotech.com> wrote:
> What is needed to support this is the ability to configure Px with something like:
>
> 1 (P1, P2, P3), 1 (D1, D2, D3)
>
> Would there be any appetite for this - or would it be seen as over complication of the current rules?
There have been discussions about being able to do that and there are
really use cases where that would be useful. As lately quorum commit
has been committed, we have a better idea of the grammar to use
(yeah!), though there are a couple of things remaining regarding the
design of node subsets:
- How to define group names? Making them mandatory would likely be the
way to go.
- How to represent that intuitively in pg_stat_replication? Perhaps
the answer here is an extra column in this system view.
I'm coming back round to this as it's becoming increasingly discussed as we look into systems with an RPO of (close to) 0 spanning multiple locations.
Before I start hacking - does anyone have any preference for syntax?
To me the best approach seems to be a list of items like:
ANY 2 (a,b) AS SiteA, ANY 2(c,d) AS SiteB
FIRST 2 (a,b,c) AS SiteA, d AS SiteB, e AS SiteC
You need a group name for the replication view as Michael noted, I suppose you'd need to also allow no group name (one would be autogenerated??) for backwards compatibility OR enforce group names when there are more than one elements in the list.
I don't want to do embedded groups like:
ANY 2 (ANY 2 (a,b,c) AS SiteA, d as SiteB, c as SiteB)
Because that just seems like it's overcomplicating the issue.
thoughts?
James