Re: Configuring synchronous replication

Andrew Dunstan <andrew@dunslane.net>

From: Andrew Dunstan <andrew@dunslane.net>
To: Dave Page <dpage@pgadmin.org>
Cc: Peter Eisentraut <peter_e@gmx.net>, Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>, Tom Lane <tgl@sss.pgh.pa.us>, Thom Brown <thom@linux.com>, Fujii Masao <masao.fujii@gmail.com>, Robert Haas <robertmhaas@gmail.com>, Josh Berkus <josh@agliodbs.com>, pgsql-hackers@postgresql.org
Date: 2010-09-22T12:25:40Z
Lists: pgsql-hackers

On 09/22/2010 07:57 AM, Dave Page wrote:
> On Wed, Sep 22, 2010 at 12:50 PM, Peter Eisentraut<peter_e@gmx.net>  wrote:
>> On ons, 2010-09-22 at 12:20 +0100, Dave Page wrote:
>>>> No, it's really not hierarchical. It only has goes one level deep.
>>> I guess pgAdmin/wxWidgets are broken then :-)
>>>
>>> [Servers]
>>> Count=5
>>> [Servers/1]
>>> Server=localhost
>> Well, by that logic, even what we have now for postgresql.conf is
>> hierarchical.
> Well, yes - if you consider add-in GUCs which use prefixing like foo.setting=...
>
>> I think the criterion was rather meant to be
>>
>> - can represent hierarchies without repeating intermediate node names
> If this were data, I could understand that as it could lead to
> tremendous bloat, but as a config file, I'd rather have the
> readability of the ini format, despite the repeated node names, than
> have to hack XML files by hand.
>

XML is not the only alternative - please don't use it as a straw man. 
For example, here is a fragment from the Bacula docs using their 
hierarchical format:

    FileSet {
       Name = Test
       Include {
         File = /home/xxx/test
         Options {
            regex = ".*\.c$"
         }
       }
    }


Or here is a piece from the buildfarm client config (which is in fact 
perl, but could also be JSON or similar fairly easily):

    mail_events =>
    {
         all => [],
         fail => [],
         change => ['foo@bar.com', 'baz@blurfl.org' ],
         green => [],
    },
    build_env =>
    {
         CCACHE_DIR => "/home/andrew/pgfarmbuild/ccache/$branch",
    },

cheers

andrew