Peter Eisentraut wrote:
> In my mind, a conf.d directory is an extension of a single-file
> configuration, and so it should be handled that way.
+1 on this. This means
1. it is to be read automatically by the server without need for an "include_dir conf.d" option in the main
postgresql.conf.
2. it is to be placed alongside postgresql.conf, not necessarily in PGDATA.
3. it might or might not be writable by the running server; it's an operating-system-owned configuration location.
4. there is no point in "disabling" it, and thus we offer no mechanism to do that.
5. its entries override what is set in postgresql.conf, and are in turn overridden by what is set in
postgresql.auto.conf.
Taken together, these properties guarantee that it's an useful mechanism
to be used by system-level deployment/configuration tools such as Puppet
et al.
I also think, but this is a secondary point, that initdb should write
its modified settings into a file in conf.d instead of generating a
custom postgresql.conf.
--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services