Обсуждение: Start-up script for Solaris
Good morning,
Curious if anyone out there has a start-up script for Solaris? A version of the Linux /etc/init.d/postgresql one. I recently installed postgres on a Solaris 9 box and although I can start up postgres it fails to log to the log file as directed and just "doesn't look right", like it does on Linux.
Thanks,
Tim
Am Dienstag, 8. August 2006 13:27 schrieb mcelroy, tim: > Good morning, > > Curious if anyone out there has a start-up script for Solaris? A > version of the Linux /etc/init.d/postgresql one. I recently installed > postgres on a Solaris 9 box and although I can start up postgres it > fails to log to the log file as directed and just "doesn't look right", > like it does on Linux. > I have a rather old one, which originally started and stopped a 6.5.2 postgres on Solaris 5.6 . Now it does its job on 7.4 and Solaris 10. Thomas Mack ===================================================================== #!/bin/sh killproc() { # kill the named process(es) pid=`/usr/bin/ps -e -o pid,args | \ /usr/bin/grep "$1\>" | \ /usr/bin/grep -v "$0\>" | \ /usr/bin/grep -v grep | \ /usr/bin/awk '{print $1}'` [ "$pid" != "" ] && kill -s INT $pid [ "$pid" != "" ] && sleep 2 [ "$pid" != "" ] && kill -s QUIT $pid } # # Start/stop postgres # case "$1" in 'start') echo "Starting postgres74..." killproc postmaster /usr/bin/rm -f /usr/local/pgsql/data/postmaster.pid su - postgres -c "source /usr/local/pgsql/.tcshrc; limit descriptors 512; cd /usr/local/pgsql/bin; ./postmaster -i-p 6007 -o -e >>& server.log&" ;; 'stop') killproc postmaster # kill postmaster process /usr/bin/rm -f /tmp/.s.PGSQL.6007 ;; 'restart') $0 stop sleep 1 $0 start ;; *) echo "Usage: /etc/init.d/postgres74 { start | stop | restart }" ;; esac
Thank you Thomas. I've tried it but get a few syntax errors. I have postgresql 8.0.1 installed and have moved it to /var/lib/pgsql to mimic Linux so I need to edit the file some more. I'll let you know how it works.
Thanks,
Tim
-----Original Message-----
From: pgsql-admin-owner@postgresql.org [mailto:pgsql-admin-owner@postgresql.org] On Behalf Of Thomas Mack
Sent: Tuesday, August 08, 2006 7:54 AM
To: 'pgsql-admin@postgresql.org'
Subject: Re: [ADMIN] Start-up script for Solaris
Am Dienstag, 8. August 2006 13:27 schrieb mcelroy, tim:
> Good morning,
>
> Curious if anyone out there has a start-up script for Solaris? A
> version of the Linux /etc/init.d/postgresql one. I recently installed
> postgres on a Solaris 9 box and although I can start up postgres it
> fails to log to the log file as directed and just "doesn't look right",
> like it does on Linux.
>
I have a rather old one, which originally started and stopped a 6.5.2
postgres on Solaris 5.6 . Now it does its job on 7.4 and Solaris 10.
Thomas Mack
=====================================================================
#!/bin/sh
killproc() { # kill the named process(es)
pid=`/usr/bin/ps -e -o pid,args | \
/usr/bin/grep "$1\>" | \
/usr/bin/grep -v "$0\>" | \
/usr/bin/grep -v grep | \
/usr/bin/awk '{print $1}'`
[ "$pid" != "" ] && kill -s INT $pid
[ "$pid" != "" ] && sleep 2
[ "$pid" != "" ] && kill -s QUIT $pid
}
#
# Start/stop postgres
#
case "$1" in
'start')
echo "Starting postgres74..."
killproc postmaster
/usr/bin/rm -f /usr/local/pgsql/data/postmaster.pid
su - postgres -c "source /usr/local/pgsql/.tcshrc; limit descriptors 512; cd /usr/local/pgsql/bin; ./postmaster -i -p 6007 -o -e >>& server.log&"
;;
'stop')
killproc postmaster # kill postmaster process
/usr/bin/rm -f /tmp/.s.PGSQL.6007
;;
'restart')
$0 stop
sleep 1
$0 start
;;
*)
echo "Usage: /etc/init.d/postgres74 { start | stop | restart }"
;;
esac
---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster
On Aug 8, 2006, at 7:19 AM, mcelroy, tim wrote: > Thank you Thomas. I've tried it but get a few syntax errors. I > have postgresql 8.0.1 installed and have moved it to /var/lib/pgsql > to mimic Linux so I need to edit the file some more. I'll let you > know how it works. You need to upgrade. You're exposing yourself to at least one data corruption bug and a security hole. You can go to 8.0.8 without a dump and restore (though if you have the time it'll be worth it going to 8.1.4). As for startup, see if you can find someone running Solaris 10 and grab the startup out of there (I'm assuming 9 and 10 use the same system startup scripts...). If Sun has a web interface to their repository, you could probably just grab that one script, too. -- Jim C. Nasby, Sr. Engineering Consultant jnasby@pervasive.com Pervasive Software http://pervasive.com work: 512-231-6117 vcard: http://jim.nasby.net/pervasive.vcf cell: 512-569-9461
Thanks Jim, good to hear from you again.
Well for starters, if anyone out there does have a Solaris 9 or 10 startup script that they could post it would be appreciated. I will check on the Sun site as well, if I find anything I'll post it to the list.
One of the problems may be that the Solaris install defaults to /usr/local/pgsql and to keep consistency with my numerous Linux installs I moved everything to /var/lib/pgsql. Maybe that caused some quirks? I did find that once installed starting postgres with pg_ctl -D /var/lib/pgsql/data (even in the background using the &) postgres would not write to the logfile as outlined in my postgresql.conf file, frustrating. I then dropped the databases, did the initdb again and used
postmaster -D /var/lib/pgsql/data & and that worked. I am at a loss as to why but as long as it works I will not question it. I do however prefer the /etc/init.d/postgresql script so will keep searching.
Yes, I know I need to upgrade to at least 8.0.8 (even better to 8.1) but my hands are tied as the app that runs on the box is "not certified" against anything higher than 8.0.1, I keep trying to push the vendor but as of yet to no avail.
Thanks again to Thomas and Jim for your replies.
Tim
-----Original Message-----
From: Jim Nasby [mailto:jnasby@pervasive.com]
Sent: Tuesday, August 08, 2006 1:05 PM
To: mcelroy, tim
Cc: 'Thomas Mack'; 'pgsql-admin@postgresql.org'
Subject: Re: [ADMIN] Start-up script for Solaris
On Aug 8, 2006, at 7:19 AM, mcelroy, tim wrote:
> Thank you Thomas. I've tried it but get a few syntax errors. I
> have postgresql 8.0.1 installed and have moved it to /var/lib/pgsql
> to mimic Linux so I need to edit the file some more. I'll let you
> know how it works.
You need to upgrade. You're exposing yourself to at least one data
corruption bug and a security hole. You can go to 8.0.8 without a
dump and restore (though if you have the time it'll be worth it going
to 8.1.4).
As for startup, see if you can find someone running Solaris 10 and
grab the startup out of there (I'm assuming 9 and 10 use the same
system startup scripts...). If Sun has a web interface to their
repository, you could probably just grab that one script, too.
--
Jim C. Nasby, Sr. Engineering Consultant jnasby@pervasive.com
Pervasive Software http://pervasive.com work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf cell: 512-569-9461