On Tue, 31 Jul 2018 00:02:47 -0500 (PET) Alvaro Aguayo Garcia-Rada <aaguayo@xxxxxxxxxxxxxxx> wrote: > Hi. > > As far as I know, it's not currently possible. Maybe recompiling, but > that could not be the best for production environment. I suppose this > is this way becuase postgres is designed to expect a certain folder > structure for it's data folder, and configuration files are > considered part of it. > > As you may see on the documentation: > > https://www.postgresql.org/docs/9.6/static/app-postgres.html > > You can change the data folder (-D command line option), but, no > matter what the data folder is, it MUST have a postgresql.conf, as > well as pg_hba.conf > > However, some distros have made a similar appriach to what you may be > looking to do. Don't remmeber which one, but there's a distro which > it's stabdard postgresql server packages store configuration files > at /etc/postgresql, while storing data at /var/lib/postgresql. This > is done by simoly making a symlink, like "ln > -s /mnt/shared/postgres/server1.conf /var/lib/postgres/data/postgresql.conf". > Same applies to other conficuration files. Normally the config files live on the server. If you want to hack the basename I'd suggest using symlinks for each machine. Set up a whatever.conf.<hostname> files you like, symlink them into of /etc/posgresql (or whatever you use on Windows): e.g., #!/usr/bin/env bash [ -z "$HOST_CONF_DIR" ] || exit -1; [ -d $HOST_CONF_DIR ] || exit -2; [ -r $HOST_CONF_DIR ] || exit -3; suffix=".$(hostname)"; cd /etc/postgresql; for i in $HOST_CONF_DIR/*; do ln -fsv $i ./$(basename $i $suffix); done echo 'Config dir:'; ls -al $PWD; exit 0; Result: You have the standard paths where PG expexts them and ls -al (or readlink) will tell you which host they were generated for. -- Steven Lembark 1505 National Ave Workhorse Computing Rockford, IL 61103 lembark@xxxxxxxxxxx +1 888 359 3508