Re: Thoughts on the location of configuration files, how about this: - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Re: Thoughts on the location of configuration files, how about this:
Date
Msg-id Pine.LNX.4.30.0112201720590.634-100000@peter.localdomain
Whole thread Raw
In response to Re: Thoughts on the location of configuration files, how about this:  (mlw <markw@mohawksoft.com>)
List pgsql-hackers
mlw writes:

> -C filepath_name
> If filepath_name is a file, it is treated as a configuration file, no other
> information is assumed. If filepath_file is a directory, it is used to replace
> the default "sysconfdir" obtained from configure.

This seems like a reasonable compromise, but I think I'm OK with -C
specifying the name of the config file only.  Otherwise it would be too
much logic for something that you can work around with tab completion.

> postgresql.conf
> By default it will live in sysconfdir as configured by "configure."
> If it is not found in the "sysconfdir," $PGDATA will be searched.

I don't think I like "if not found in X then search Y".  If the file is
not where it was configured to be then it's an error or it will be
ignored, or whatever the usual behavior would be.

Looking into $PGDATA is probably something we want to discourage, not do
implicitly.  The backup/upgrade issue would be much simplified if we kept
hand-edited files out of there.  Are you concerned about backward
compatibility?  I think a note in the data directory that tells users
where to find the files is OK.  Others may disagree.

Also, I'm not sure exactly what you mean with $PGDATA.  If you mean "the
data area", then this would be complicated to arrange, because the data
area is or may be configured in postgresql.conf.  If you mean the actual
environment variable, I think environment variables should override
compiled-in defaults, not serve as fallbacks.  That's just the usual order
of priorities.

> pg_hba.conf
> By default it will live in sysconfdir as configured by "configure."
> Its location can be changed by "hbaconfig" in postgresql.conf.
> If not configured in postgresql.conf and not found within "sysconfdir," $PGDATA
> will be searched. If explicitly configured in the postgresql.conf file, it must
> exist as specified.

Same concern here.

> Note:
> I think the data directory should be explicitly configured by either the
> posgresql.conf file, environment variable (PGDATA), or through the command line
> option, but using the "configure" statedir isn't anything anyone would object
> too.

Fixed locations create consistency and save typing.  Both are tremendous
time-savers.

-- 
Peter Eisentraut   peter_e@gmx.net



pgsql-hackers by date:

Previous
From: Andrew Bell
Date:
Subject: Re: long ints use for 4-byte entities in ODBC
Next
From: Peter Eisentraut
Date:
Subject: Re: tkConfig.sh vs. ./configure