Hi, I'm used to work with PostgreSQL on Windows but now I've moved to OS X and I'm having problems to create a service to auto start a new server (instance) of PostgreSQL. Firstly I used the PostgreSQL installer to create the first server and the postgres user, then I used initdb to create another server and until this step, everything turned fine. After that, I created a folder on StartupItems with StartupParameters and the other script. Here are the contents of the two files:
#walkinsense-pgsql #!/bin/sh . /etc/rc.common # Postgres Plus Service script for OS/X StartService () { ConsoleMessage "Starting Walkinsense PostgreSQL" su - postgres -c "/Library/PostgreSQL/8.3/bin/pg_ctl -D /Users/iMac1/Library/Teste/data -l /Library/Walkinsense/data/pg_log/startup.log -o \"-p 5440\" start" if [ -e "/Library/Walkinsense/data/postmaster.pid" ] then ConsoleMessage "PostgreSQL 8.3 started successfully" else ConsoleMessage "PostgreSQL 8.3 did not start in a timely fashion, please see /Library/Walkinsense/data/pg_log/startup.log for details" fi } StopService() { ConsoleMessage "Stopping PostgreSQL 8.3" su - postgres -c "/Library/PostgreSQL/8.3/bin/pg_ctl stop -m fast -w -D /Users/iMac1/Library/Teste/data" } RestartService () { StopService sleep 2 StartService } RunService "$1" #SetupParameters { Description = "Walkinsense-pgsql"; Provides = ("walkinsense-pgsql"); Requires = ("Resolver"); Preference = "Late"; Messages = { start = "Starting Walkinsense PostgreSQL"; stop = "Stopping Walkinsense PostgreSQL"; }; } Then, I changed the directory permissions doing "sudo chown root:wheel /Library/StartupItems/walkinsense-pgsql" at the terminal. When I do "sudo SystemStarter start walkinsense-pgsql" at the terminal, it gives back the message: Starting Walkinsense PostgreSQL pg_ctl: could not open PID file "/Users/iMac1/Library/Teste/data/postmaster.pid": Permission denied As you see, the server doesn't start. I hope I explained it right. Thanks!! Diogo