I installed the sample startup script for postgres for FreeBSD, but it
reports the following error upon running:
# /usr/local/etc/rc.d/postgres.sh start
pg_ctl: no database directory or environment variable $PGDATA is specified
Try 'pg_ctl --help' for more information.
I see clearly that PGDATA is set and exported. I'm suspecting that
the "su -l" causes the environment to disappear. My guess is that
whomever wrote this script has PGDATA set in the ~/.profile (or
equivalent) in the postgres user's home directory.
Thus, it is pointless to set PGDATA in the script. Setting and
exporting PGDATA in the ~/.profile file lets postgres start as
expected.
The commentary says to copy the file to /usr/local/etc/rc.d/postgresql
but this is not useful; the file must in '.sh' and be executable or
FreeBSD will ignore it on boot.
Also, the following line in the start action of the sript is useful:
/sbin/ldconfig -m $prefix/lib
--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Vivek Khera, Ph.D. Khera Communications, Inc.
Internet: khera@kciLink.com Rockville, MD +1-240-453-8497
AIM: vivekkhera Y!: vivek_khera http://www.khera.org/~vivek/