pg_upgrade - add config directory setting

Steve Crawford <scrawford@pinpointresearch.com>

From: Steve Crawford <scrawford@pinpointresearch.com>
To: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2011-09-27T23:13:41Z
Lists: pgsql-hackers
It would perhaps be useful to add optional --old-confdir and 
--new-confdir parameters to pg_upgrade. If these parameters are absent 
then pg_upgrade would work as it does now and assume that the config 
files are in the datadir.

The reason for this suggestion is that packages for Ubuntu (and I 
suppose Debian and possibly others) place the config files in a 
different directory than the data files.

The Ubuntu packaging, for example, puts all the configuration files in 
/etc/postgresql/VERSION/main/.

If I set the data-directories to /var/lib/postgresql/VERSION/main then 
pg_upgrade complains about missing config files.

If I set the data directories to /etc/postgresql/VERSION/main/ then 
pg_upgrade complains that the "base" subdirectory is missing.

Temporarily symlinking postgresql.conf and pg_hba.conf from the config 
directory to the data directory allowed the upgrade to run successfully 
but is a bit more kludgey and non-obvious.

Cheers,
Steve