From: | Steven Lembark <lembark(at)wrkhors(dot)com> |
---|---|
To: | Alvaro Aguayo Garcia-Rada <aaguayo(at)opensysperu(dot)com> |
Cc: | pgsql-general(at)postgresql(dot)org, "Lu, Dan" <Dan(dot)Lu(at)sig(dot)com>, lembark(at)wrkhors(dot)com |
Subject: | Re: Question on postgresql.conf |
Date: | 2018-08-01 07:37:18 |
Message-ID: | 20180801023718.0664ed27@wrkhors.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Tue, 31 Jul 2018 00:02:47 -0500 (PET)
Alvaro Aguayo Garcia-Rada <aaguayo(at)opensysperu(dot)com> 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(at)wrkhors(dot)com +1 888 359 3508
From | Date | Subject | |
---|---|---|---|
Next Message | ik | 2018-08-01 08:52:14 | Adding terminal title support for psqlrc |
Previous Message | Ron | 2018-08-01 06:03:40 | Settings for fast restores |