Auto Start second postgres 8.3.15-1 instance MAC OS X - Mailing list pgsql-hackers

From Diogo Santos
Subject Auto Start second postgres 8.3.15-1 instance MAC OS X
Date
Msg-id BANLkTi=HeErVSTAgoFFeV+NeC0ds=PL=tw@mail.gmail.com
Whole thread Raw
Responses Re: Auto Start second postgres 8.3.15-1 instance MAC OS X
List pgsql-hackers
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

pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: POSIX question
Next
From: "Kevin Grittner"
Date:
Subject: Re: [WIP] cache estimates, cache access cost