The following bug has been logged online:
Bug reference: 4787
Logged by: Mark Kramer
Email address: root@asarian-host.net
PostgreSQL version: 8.3.7
Operating system: FreeBSD 7.1
Description: Hardlink (ln) causes startup failure with bizarre
"timezone_abbreviations" error
Details:
I have my PostgreSQL installed in /usr/local/PostgreSQL/ (cleaner for
updates, instead of just /usr/local) As a result, I made hard-links like
this,
cd /usr/local/bin/
ln /usr/local/PostgreSQL/bin/pg_ctl pg_ctl
Etc. Seems PostgreSQL can't handle the fact. I try and start the server,
with:
/usr/bin/su -l pgsql -c "exec /usr/local/bin/pg_ctl start -D
/var/db/PostgreSQL -w -s -m fast"
I get this error, though:
May 1 04:40:26 asarian-host postgres[9742]: [6-1] FATAL: invalid value for
parameter "timezone_abbreviations": "Default"
Which is a silly error, because it's rather untrue, and it's rather strange,
honestly, for PostgreSQL to want to be started from a hardcoded location.
Starting up the usual way, with:
/usr/bin/su -l pgsql -c "exec /usr/local/PostgreSQL/bin/pg_ctl start -D
/var/db/PostgreSQL -w -s -m fast"
Works just fine. So, at the very least, change the error message to
something that actually makes sense, like: "FATAL: Binary started from
location other than the one used at compile-time;" or something to that
affect. But better still, there's no need for PostgreSQL to have this hard
location requirement: its lib paths has been set (at boot) with ldconfig, so
it should find whatever libs it need, regardless from where the binary
resides that I use to start the server.