Обсуждение: how to shutdown postmaster as NT service?
If postmaster is installed as an NT service using the 'invoker' utility, how can arrange to shutdown that service gracefully when NT shuts down? Here's some background: I'm trying to install PostgreSQL on NT for use along with Zope to implement some low-traffic non-profit websites. (Whether this makes sense to do on NT rather than Linux is the subject of another message.) So far I've got postgreSQL 7.0.3 working on a development machine, built on top of NT4 SP6, Cygwin 0.24 (DLL 1.1.3), and cygipc 1.07. A summary of my build procedure appears on <http://www.ontosys.com/reports/postgresql.html>. I also built the ODBC driver for PostgreSQL. With all that I'm able access a simple PostgreSQL database from Zope. Cool. But now I'm trying to figure out how to harden the configuration so that PostgreSQL comes up as an NT service when the machine boots, and shuts down gracefully when the system shuts down or reboots. I've got both ipc-daemon and postmaster running as NT services, installed and managed by invoker. I can't tell if the postmaster processes are getting any chance to clean up and shutdown gracefully when NT shuts down. I do know that the postmaster service sometimes fails to start during NT boot, complaining that the postmaster.pid file is not writable. I can start that service manually via the Services control panel. Perhaps invoker is too crude as a service manager for the postmaster process? What alternatives do I have? I've seen mention of srvany, but I have no idea how to use it. Can the postmaster (postgres.exe) program itself run as a service? I saw mention that someone was considering adding that capability, but I see no hint that it's there yet. This seems like the way to go, since (I presume) the process could then run its own clean shutdown when it is notified that the service must shutdown. -- Fred Yankowski fred@OntoSys.com tel: +1.630.879.1312 Principal Consultant www.OntoSys.com fax: +1.630.879.1370 OntoSys, Inc 38W242 Deerpath Rd, Batavia, IL 60510, USA
Fred, On Fri, Jan 12, 2001 at 01:59:51PM -0600, Fred Yankowski wrote: > If postmaster is installed as an NT service using the 'invoker' > utility, how can arrange to shutdown that service gracefully when NT > shuts down? AFAICT, you can't. An interesting (albeit hacky) solution can be found at: ftp://unix.breitenbach-it.de/pub/win32/ This solution does *not* run postmaster as an NT service. Instead a fake service runs that execute a batch script that starts postmaster on startup and another one that stops postmaster on shutdown. > Perhaps invoker is too crude as a service manager for the postmaster > process? What alternatives do I have? I've seen mention of srvany, > but I have no idea how to use it. srvany will not give you any extra functionality over invoker. In fact, it is part of Microsoft's Resource Kit, so it is not freely distributable. > Can the postmaster (postgres.exe) program itself run as a service? No (or not yet). > I saw mention that someone was considering adding that capability, but I > see no hint that it's there yet. This seems like the way to go, since > (I presume) the process could then run its own clean shutdown when it > is notified that the service must shutdown. You are probably referring to one of my recent posts. I still intend to do this, but I cannot commit to as when. However, we need this too so I can only procrastinate so long... If you are so inclined, my recommendation is to check out how inetd was patched to be a service on NT: ftp://ftp.freesoftware.com/.0/sourceware/cygwin/latest/inetutils/inetutils-1.3.2-8-src.tar.gz I was going to use this as a starting point myself. Jason -- Jason Tishler Director, Software Engineering Phone: +1 (732) 264-8770 x235 Dot Hill Systems Corp. Fax: +1 (732) 264-8798 82 Bethany Road, Suite 7 Email: Jason.Tishler@dothill.com Hazlet, NJ 07730 USA WWW: http://www.dothill.com