Starting postmaster on startup in Mac OS X 10.2.4 via shell script
Colleagues,
I recently installed PostgreSQL 7.3.2 from source on Mac OS X 10.2.4, and I
am wanting to have the server start automatically when the OS starts up.
However, I am having trouble with the shell script to start postmaster.
I can manually su into the user account under which postmaster runs
(named 'pgsql', surprisingly I am sure) and execute the following command line
successfully:
#: /usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data -l logfile -i -o
The shell script equivalent which I am trying to use is as follows:
su -c '/usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data -l logfile -
i -o' pgsql
Upon login, I open a terminal and run 'pg_ctl status' and it confirms that
postmaster is not running. I have also tried the following permutations for
the shell script command line:
su - pgsql -c '/usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data -l
logfile -i -o'
su -l pgsql -c '/usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data -l
logfile -i -o'
su -m pgsql -c '/usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data -l
logfile -i -o'
I am quite new to PostgreSQL, but its feature set seems unparalleled in
open source database platforms, so I really want to get this thing running.
Since I am prompted for the password when I run 'su -l pgsql' manually, I can't
help but think that I am failing to acquire the appropriate context under which
postmaster must run. My logfile also seems to indicate that. I am sure this
is some neophyte error on my part, but if one of the sages would be so kind as
to direct me, I would be most grateful.
Regards,
--
Barry C. Hawkins
Systems Consultant
All Things Computed
barry.hawkins@allthingscomputed.com
404-795-9147 voice/fax
There is a startup item listed on Marc Liyanage's page
http://www.entropy.ch/software/macosx/postgresql/
Look for pgsql-startupitem-1.2.pkg.tar.gz
Never tried it myself though.....
adam
Colleagues,
I recently installed PostgreSQL 7.3.2 from source on Mac OS X 10.2.4, and I
am wanting to have the server start automatically when the OS starts up.
However, I am having trouble with the shell script to start postmaster.
I can manually su into the user account under which postmaster runs
(named 'pgsql', surprisingly I am sure) and execute the following command line
successfully:#: /usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data -l logfile -i -o
The shell script equivalent which I am trying to use is as follows:
su -c '/usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data -l logfile -
i -o' pgsqlUpon login, I open a terminal and run 'pg_ctl status' and it confirms that
postmaster is not running. I have also tried the following permutations for
the shell script command line:su - pgsql -c '/usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data -l
logfile -i -o'su -l pgsql -c '/usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data -l
logfile -i -o'su -m pgsql -c '/usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data -l
logfile -i -o'I am quite new to PostgreSQL, but its feature set seems unparalleled in
open source database platforms, so I really want to get this thing running.
Since I am prompted for the password when I run 'su -l pgsql' manually, I
can't
help but think that I am failing to acquire the appropriate context under
which
postmaster must run. My logfile also seems to indicate that. I am sure this
is some neophyte error on my part, but if one of the sages would be so kind as
to direct me, I would be most grateful.Regards,
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
I recently installed PostgreSQL 7.3.2 from source on Mac OS X 10.2.4,
and I
am wanting to have the server start automatically when the OS starts
up.
The simple way is to download and install this package:
http://www2.entropy.ch/download/pgsql-startupitem-1.2.pkg.tar.gz
The main page:
http://www.entropy.ch/software/macosx/postgresql/
Jeff
Adam and Jeff,
Thank you for your replies. I actually tried using Marc Liyanage's startup
item prior to attempting to write my own. In fact, Marc uses the following
syntax, which is the same as one of the ones I tried, except that his pg_ctl
path and unprivileged account name differ from mine and the order of the two
switches -i and -o are reversed:
su - postgres -c '/usr/local/bin/pg_ctl start -D /usr/local/pgsql/data -l
logfile -o -i'
The only difference between what Liyanage does and what I did is the method
for creating the user account to run postmaster. I used NetInfo manager much
in the way described on Apple's web article for the setup of MySQL
(http://developer.apple.com/internet/macosx/osdb.html - see "Adding a User with
NetInfo Manager"). This worked fine for installing MySQL from source and
configuring it to start automatically; of course, the user account for starting
mysqld can be passed as a command line argument.
In an effort to test my hypothesis of the user creation method being an
issue, I deleted user pgsql in NetInfo Manager and recreated it through the
Accounts tool in System Preferences in OS X. I then installed Marc Liyanage's
startup item package over my own and modified the user account and path to
pg_ctl. I then issued 'sudo chmod -R pgsql /usr/local/pgsql'. As before, I am
able to su into pgsql and start postmaster, but the startup item fails.
Creating a user in NetInfo Manager foregoes the creation of a home
directory and a few other minor tasks. The home directory for a user created
in NetInfo manager is /dev/null by default, so I thought that perhaps this was
causing a hiccup with the su directive passed in the script. I have now
eliminated that possibility.
Any other ideas?
Regards,
--
Barry C. Hawkins
Systems Consultant
All Things Computed
barry.hawkins@allthingscomputed.com
404-795-9147 voice/fax
Quoting Adam Witney <awitney@sghms.ac.uk>:
Show quoted text
There is a startup item listed on Marc Liyanage's page
http://www.entropy.ch/software/macosx/postgresql/
Look for pgsql-startupitem-1.2.pkg.tar.gz
Never tried it myself though.....
adam
Colleagues,
I recently installed PostgreSQL 7.3.2 from source on Mac OS X 10.2.4, andI
am wanting to have the server start automatically when the OS starts up.
However, I am having trouble with the shell script to start postmaster.
I can manually su into the user account under which postmaster runs
(named 'pgsql', surprisingly I am sure) and execute the following commandline
successfully:
#: /usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data -l logfile -i
-o
The shell script equivalent which I am trying to use is as follows:
su -c '/usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data -l
logfile -
i -o' pgsql
Upon login, I open a terminal and run 'pg_ctl status' and it confirms
that
postmaster is not running. I have also tried the following permutations
for
the shell script command line:
su - pgsql -c '/usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data
-l
logfile -i -o'
su -l pgsql -c '/usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data
-l
logfile -i -o'
su -m pgsql -c '/usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data
-l
logfile -i -o'
I am quite new to PostgreSQL, but its feature set seems unparalleled in
open source database platforms, so I really want to get this thingrunning.
Since I am prompted for the password when I run 'su -l pgsql' manually, I
can't
help but think that I am failing to acquire the appropriate context under
which
postmaster must run. My logfile also seems to indicate that. I am surethis
is some neophyte error on my part, but if one of the sages would be so kind
as
to direct me, I would be most grateful.
Regards,
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.