postgres launch daemon not working
Daniel J. Luke
dluke at geeklair.net
Tue Jan 31 13:13:01 PST 2012
On Jan 31, 2012, at 2:52 PM, Scott Frankel wrote:
> % sudo su postgres -c "/opt/local/lib/postgresql84/bin/pg_ctl -D /opt/local/var/postgresql84/defaultdb -l /opt/local/var/postgresql84/defaultdb/data/logfile.txt start"
> Jan 31 08:29:07 tiento com.apple.SystemStarter[53]: pg_ctl: could not open PID file "/Library/PostgreSQL8/data/postmaster.pid": Permission denied
> Jan 31 08:29:08 tiento SystemStarter[53]: PostgreSQL database server (90) did not complete successfully
This looks like you are pointing to a different directory than the one you set up when you installed postgresql84-server (and also a different one than the one you're pointed to when you manually start postgres).
> Looks like pg_ctl is trying to open a postmaster.pid file it doesn't have permissions for. How can I point launchd invocations of pg_ctl to the correct postgres data dir?
If you look at the plist that macports installed, you'll see that it uses a wrapper script to launch the postgres server process. That script will default to using the environment variable $POSTGRESQL84DATA for the data dir (and fall back on the one you show that you're using).
It's very likely that you have $POSTGRESQL84DATA set, and you don't want it set.
--
Daniel J. Luke
+========================================================+
| *---------------- dluke at geeklair.net ----------------* |
| *-------------- http://www.geeklair.net -------------* |
+========================================================+
| Opinions expressed are mine and do not necessarily |
| reflect the opinions of my employer. |
+========================================================+
More information about the macports-users
mailing list