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: