I'm sorry to keep bringing this up, but I keep thinking that PostgreSQL is a PITA to configure. It isn't that I don't know how, or can't read the documents, it's just that there is too many things that can go wrong or leave me with the "How does that work?" feeling where I need to test before I implement.
OK, here is what I think we need to do, and I am willing to take the point and do all of it: If postmaster is started with -D or with $PGDATA set to the location of a postgresql cluster directory, it will work as it has always worked. If the -D or the $PGDATA values do not point to a database cluster directory, it must point to either a postgresql.conf file, or a directory which contains "postgresql.conf." If it points to a directory, then that directory will be the assumed the default for pg_hba.conf and pg_ident.conf. The test for it being a cluster directory or a configuration directory will be the presence of "PG_VERSION." (any better suggestion would be welcome Within the postgresql.conf file, there will be about 4 additional configuration parameters: include='/somepath/coreopts.conf' hba_conf='/somepath/pg_hba.conf' ident_conf='somepath/pg_ident.conf' pgdata='/somepath/to/cluster' (Unfortunately we lose the ability to use a standard configuration across multiple databases, but I think this is a good compromise.) Additionally, rather than depend on environment variables for security, we can put acceptable database locations in the postgresql.conf file in the form of: altdb='/somealtpath' and we can use createdb as: CREATE DATABASE somedb with LOCATION 'altdb'; What do you all think? ---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faqs/FAQ.html