Re: Thoughts on the location of configuration files - Mailing list pgsql-hackers
From | mlw |
---|---|
Subject | Re: Thoughts on the location of configuration files |
Date | |
Msg-id | 3C1FD1D4.2199AD9B@mohawksoft.com Whole thread Raw |
In response to | Thoughts on the location of configuration files (Peter Eisentraut <peter_e@gmx.net>) |
List | pgsql-hackers |
Peter Eisentraut wrote: > > After reading through the strong opinions about the location of the > configuration files in the current and in previous threads, I must concede > that despite the best intentions, the current "everything in one place" > system is obviously not addressing the needs of the user. So while we're > at it we might as well consider more sweeping changes to bring the > system in line with the "expected" or "standard" behaviour. > > Consider the following points: > > 1. Most users will probably only run one server -- especially new users. Agreed > > 2. Most users will expect configuration files somewhere under =~ /etc/ -- > including new users. Agreed > > 3. To run more than one server, special knowledge and configuration is > required anyway. Agreed > > Therefore, a wired-in configuration file location near /etc would be > helpful or at least indifferent for most users. > > I suggest that we wire-in the location of the configuration files into the > binaries as ${sysconfdir} as determined by configure. This would default > to /usr/local/pgsql/etc, so the "everything in one place" system is still > somewhat preserved for those that care. For the confused, we could for a > while install into the data directory files named "postgresql.conf", > "pg_hba.conf", etc. that only contain text like "This file is now to be > found at @sysconfdir@ by popular demand." Great! > > Furthermore, I suggest that we wire-in the default location of the data > files as ${localstatedir} as determined by configure. This would default > to /usr/local/pgsql/var, which is not quite the same as the customary > /usr/local/pgsql/data but it doesn't matter because with both "initdb" and > "postmaster" defaulting to this directory and the configuration files > elsewhere you don't really need to know except on few occasions. Having > this default would also save me a lot of typing during development. ;-) I guess that is OK, but I would also like a setting in the config file for the datadir location, as well as hba and ident. That way a single "-C" can set the whole world. > > Surely we can also add a -C option to override the sysconfdir just as -D > overrides localstatedir. Those that refuse to convert can also set -C > equal to -D and have the old setup. Or the user can only specify -C to > point to the former -D and use the proposed 'datadir' parameter to find > the data area. > > But I find a wired-in configuration file location better than having to > use -C everytime you want a "standard" setup because this way we force > users to have consistent setups. However, I wish "-C" to point to a specific file. > > What does this mean for multiple-server setups? Basically you add a -C to > each invocation or you replace -D by -C as explained above. Or if you > want to share the configuration file you only need to add the right -p > option to each invocation. This probably means someone will need to > change their scripts but as we hear they don't like them anyway. Someone > that currently relies on a -D being sufficient will at least get a clean > failure when the ports conflict.
pgsql-hackers by date: