On Wed, Jul 15, 2015 at 5:03 AM, Michael Paquier <michael.paquier@gmail.com> wrote: >> Group labels are essential. > > OK, so this is leading us to the following points: > - Use a JSON object to define the quorum/priority groups for the sync state. > - Store it as a GUC, and use the check hook to validate its format, > which is what we have now with s_s_names > - Rely on SIGHUP to maintain an in-memory image of the quorum/priority > sync state > - Have the possibility to define group labels in this JSON blob, and > be able to use those labels in a quorum or priority sync definition. > - For backward-compatibility, use for example s_s_names = 'json' to > switch to the new system.
Personally, I think we're going to find that using JSON for this rather than a custom syntax makes the configuration strings two or three times as long for
They may well be 2-3 times as long. Why is that a negative?
no discernable benefit.
Benefits:
* More readable
* Easy to validate
* No additional code required in the server to support this syntax (so no bugs)
* Developers will immediately understand the format
* Easy to programmatically manipulate in a range of languages
--
Simon Riggs http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services