Ganesan,
Thanks so much. I never read about that directory.
Thanks,
Lance Campbell
Project Manager/Software Architect
Web Services at Public Affairs
University of Illinois
217.333.0382
http://webservices.uiuc.edu
From: Chander Ganesan [mailto:chander@otg-nc.com]
Sent: Thursday, August 23, 2007 5:00 PM
To: Campbell, Lance
Cc: pgsql-admin@postgresql.org
Subject: Re: [ADMIN] Logging the starting and stopping of PostgreSQL
Campbell, Lance wrote:
I have a script that starts PostgreSQL as a service. It uses the following command to start the database:
$SU -l postgres -c "$PGENGINE/postmaster -p '$PGPORT' -D '$PGDATA' ${PGOPTS} &" >> "$PGLOG" 2>&1 < /dev/null
You do know that there is a pre-built startup script in the contrib/start-scripts directory? You might try using that rather than reinventing the wheel in a variety of ways...
On my production server I use a slightly different command:
exec ${PGENGINE}/pg_ctl start -D ${PGDATA} -l ${PGLOG}
I noticed that the first command sends starting up info about PostgreSQL to the log file specified by $PGLOG; while the second startup command does not send anything to the log file. What is the reason for this? I also have the same issue with shutting down.
It looks like in your first startup script you redirect the output so the startup script is created by the user "root" (and hence owned by root). In the second one, you start as postgres (or whomever your server runs as), and as a result the log file would have to be owned by that user as well. Is it? I'm assuming that (by your text above) that the file already exists but no new output appears there - this may be because the file is owned by the root user. You should probably change the ownership of the file so that the postgresql user can write to it.
hope that helps.
--
Chander Ganesan
The Open Technology Group
One Copley Parkway, Suite 210
Morrisville, NC 27560
Phone: 877-258-8987/919-463-0999
http://www.otg-nc.com
Expert PostgreSQL Training