Re: location of the configuration files - Mailing list pgsql-hackers
From | Kevin Brown |
---|---|
Subject | Re: location of the configuration files |
Date | |
Msg-id | 20030214022005.GN1833@filer Whole thread Raw |
In response to | Re: location of the configuration files (Vince Vielhaber <vev@michvhf.com>) |
List | pgsql-hackers |
Vince Vielhaber wrote: > On Thu, 13 Feb 2003, Lamar Owen wrote: > > > On Thursday 13 February 2003 18:07, Vince Vielhaber wrote: > > > Actually FHS says the opposite. If the distribution installs PostgreSQL > > > then the config files belong in /etc/postgresql. If the admin does then > > > they belong in /usr/local/etc/postgresql. FHS is out of their tree. If > > > PostgreSQL or any other package is not critical to the basic operation of > > > the operating system, it's config files shouldn't be polluting /etc. > > > > PostgreSQL is as critical as PHP, Apache, or whatever other package is being > > backended by PostgreSQL. If the package is provided by the distributor, > > consider it part of the OS. If it isn't, well, it isn't. > > You completely miss my point, but lately you've been real good at that. > > Can the system boot without PHP, Apache, PostgreSQL, Mysql and/or > Pine? Yep. > Can the root user log in without PHP, Apache, PostgreSQL, Mysql > and/or Pine? Hopefully. > Can any user log in without PHP, Apache, PostgreSQL, Mysql and/or > Pine? That depends, doesn't it? There exist PAM modules that allow authentication against a database, for instance. If you're using them and the database doesn't come up, the users can't log in. So suddenly the database config files belong in /etc? The mission of the box is what counts. If the mission of the box is to be a web server then I'm probably not going to care whether non-root users can log into it: that simply doesn't factor into the mission profile. The web server process is going to be as critical to the mission of the box as almost anything else on it, as will anything the web server process depends on -- which may well include a database. > Note, I'm not even including an MTA here. I said BASIC OPERATION. So by your reasoning sendmail.cf doesn't belong in /etc?? I dare say that's news to most of us. Where, then, *does* it belong? > If a package is not critical as I just outlined, it shouldn't matter > who installed it. Oh, it matters a great deal, because people upgrade their OS installs from time to time. Many OS distributions come with a lot of packages that aren't "critical" as you define them but which nevertheless will cause much pain and suffering for the sysadmin if they install themselves over what the sysadmin has previously built by hand. The purpose for differentiating between a package that was compiled and installed from the source by the sysadmin and a prebuilt package that was provided to the sysadmin by the vendor is to keep them from stepping on each other -- if the sysadmin went to the trouble of compiling and installing a package from the source instead of using a prebuilt version from the vendor, then he probably did so for a very good reason, and is going to be *really* annoyed if an OS upgrade blows away his work. There are some good reasons for putting all the config files in /etc, one of them being that it gives you *one* directory full of config files to worry about backing up instead of many. If you've got other ideas I'm certainly interested in hearing the reasoning behind them. But from the point of view of maintaining a widely deployed package like PostgreSQL, the conventions the distributions and sysadmins use matter a great deal, whether or not you happen to agree with those conventions. -- Kevin Brown kevin@sysexperts.com
pgsql-hackers by date: