Обсуждение: how to shutdown postmaster as NT service?

Поиск
Список
Период
Сортировка

how to shutdown postmaster as NT service?

От
Fred Yankowski
Дата:
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

Re: how to shutdown postmaster as NT service?

От
Jason Tishler
Дата:
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