Re: RFC: programmable file format for postgresql.conf - Mailing list pgsql-hackers

From Dimitri Fontaine
Subject Re: RFC: programmable file format for postgresql.conf
Date
Msg-id m24n6peibf.fsf@2ndQuadrant.fr
Whole thread Raw
In response to Re: RFC: programmable file format for postgresql.conf  (Peter Eisentraut <peter_e@gmx.net>)
Responses Re: RFC: programmable file format for postgresql.conf
List pgsql-hackers
Peter Eisentraut <peter_e@gmx.net> writes:
> On 12/1/13, 2:24 PM, Álvaro Hernández Tortosa wrote:
>>         IMHO, defining a new syntax for the postgreql.conf file format,
>> that is suitable for writing and parsing, or using an already existing,
>> well-known, programmatic syntax, could offer a solution for all the
>> problems/limitations above.
>
> That's the problem, there isn't one, is there?  The closest you'd get is
> the INI syntax, but that's like CSV, with many variations.  And most
> client libraries for this will likely drop all comments when they read
> and write a file, so this doesn't address that issue.

I've been using INI alot in pgloader previously, and I can't tell you
how happy I am to be away from it now.

I would argue that plenty of programmatic syntax and well known options
do exist for a configuration format. From Emacs Lisp and Guile to
Python, including Lua. You will tell me that it's too programmatic for
what you think is a configuration file, I would argue that it's the best
choice Emacs (and many other pieces of software) made.

Also if the programmatic part of the idea looks fine to someone who
never used the lisp syntax, just realise that there's nothing simpler to
parse nor “better known” (after all, it's been in wild use already for
more than 50 years).

Regards,
--
Dimitri Fontaine
http://2ndQuadrant.fr     PostgreSQL : Expertise, Formation et Support



pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: RFC: programmable file format for postgresql.conf
Next
From: Marko Kreen
Date:
Subject: [patch] libpq: Support TLSv1.1+ (was: fe-secure.c and SSL/TLS)