Re: win32 service proposal

Поиск
Список
Период
Сортировка
От Magnus Hagander
Тема Re: win32 service proposal
Дата
Msg-id 6BCB9D8A16AC4241919521715F4D8BCE34B910@algol.sollentuna.se
обсуждение исходный текст
Ответ на win32 service proposal  (Claudio Natoli <claudio.natoli@memetrics.com>)
Ответы Re: win32 service proposal  (Darko Prenosil <darko.prenosil@finteh.hr>)
Список 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.

Consider using ereport() if it's available at that time - then it'll go
to the correct place. Otherwise, look at the code in
backend/utils/error/elog.c, and the write_eventlog() function. Might
want to make that one non-static and call that one. That way we're sure
the messages end up in the same category in the eventlog.


> 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.

Yes, this is normal if you unregister a service *while it is running*.

> 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 ?

It shuold not happen when it's not started. In that case, it should be
enough to restart the services MMC snapin. Or if you're on NT4, you need
to restart the control panel (uh, maybe even logout/in). But you
shouldn't need a reboot.



> 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 ?

postgresql.conf, set log_destination to eventlog. That should put it in
a place you can see it.


//Magnus


В списке pgsql-patches по дате отправления:

Предыдущее
От: "Magnus Hagander"
Дата:
Сообщение: Re: Run-as-admin warning for win32
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Run-as-admin warning for win32