Re: win32 service proposal - Mailing list pgsql-patches

From Darko Prenosil
Subject Re: win32 service proposal
Date
Msg-id 002c01c4315e$dad27910$698abfd5@darko
Whole thread Raw
In response to win32 service proposal  (Claudio Natoli <claudio.natoli@memetrics.com>)
List pgsql-patches
I played a bit with that code. According to Microsoft samples for service
managers, errors and events should be logged to eventlog. so I added a
function (almost copy of sample service code), it's a messy, but it was
enough to see what is happening with the service.
After testing it, I have noticed two confusing things:


1.
I'll try to describe what happens in few steps:
a.) register service using: C:\msys\1.0\local\pgsql\bin\postmaster /register
postgres -D C:/msys/1.0/local/pgsql/data
b.) start service manager
c.) start the service (it starts fine)
d.) unregister service using: C:\msys\1.0\local\pgsql\bin\postmaster
/unregister postgres

After that postgres "status type" in service manager changes to "disabled",
and I'm unable to do anything with service.
The only way is restarting NT. It seems that this happens no matter service
is started or stopped, enough is that service manager is started and cursor
is positioned on "postgres" service. Is this some kind of Win bug ?

2.
When invalid parameter for postmaster is set, for example: -D
C:/msys/1.0/local/pgsql/dataX, CreateProcess returns true, but postmaster
exit with FATAL. How can we detect this situation and send the postmaster
error string into log ?

Here is changed "main.c" that I played with.


Regards !


----- Original Message -----
From: "Claudio Natoli" <claudio.natoli@memetrics.com>
To: <pgsql-patches@postgresql.org>
Sent: Monday, May 03, 2004 12:01 PM
Subject: [PATCHES] win32 service proposal


>
> [For review only. Not for committing.]
>
> Decided to take a crack at this in the interests of knocking over the
> remaining TODO win32 items asap.
>
> Would appreciate any comments on the code, particularly from win32 people.
> An obvious missing feature is allowing the service to be registered under
a
> user account, something we certainly need to allow (with this service
> running under SYSTEM, I've already tripped over some permission issues in
> the regression tests).
>
> A consensus also needs to reached on whether or not to include this in the
> postmaster:  Do we want the win32 service in the postmaster, or a
> stand-alone exe? (currently hooks into the main.c with a one-liner, but
> trivial to wrap as a stand-alone exe).
>
> Spoke about this off-list with Magnus; he's strongly for stand-alone; I'm
> fence-sitting. We see that clearly there are some niceties to having this
in
> the postmaster (one less exe to build/configure; same install set for
> win/*nix; etc), but the downsides include minor impact on the core code
and
> the fact that a user will see two postmaster processes running... the
latter
> I find particularly obnoxious (using a thread to handle the service or
> PostmasterMain would alleviate this, but would require more work to be
able
> to catch postmaster shutdowns, meaning impact to core code, and unexpected
> terminations would leave the user at the mercy of the Service Manager).
>
> Cheers,
> Claudio
>
>
>
> ---
> Certain disclaimers and policies apply to all email sent from Memetrics.
> For the full text of these disclaimers and policies see
> <a
>
href="http://www.memetrics.com/emailpolicy.html">http://www.memetrics.com/em
> ailpolicy.html</a>
>
>
>


----------------------------------------------------------------------------
----


>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
>     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
>


Attachment

pgsql-patches by date:

Previous
From: "Magnus Hagander"
Date:
Subject: Run-as-admin warning for win32
Next
From: Shachar Shemesh
Date:
Subject: Re: [PATCHES] Run-as-admin warning for win32