Re: Postgres service stops when I kill client backend on Windows

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Magnus Hagander <magnus(at)hagander(dot)net>, Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
Cc: Ali Akbar <the(dot)apaan(at)gmail(dot)com>, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>, Dmitry Vasilyev <d(dot)vasilyev(at)postgrespro(dot)ru>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Robert Haas <robertmhaas(at)gmail(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Postgres service stops when I kill client backend on Windows
Date: 2015-10-11 14:32:53
Message-ID: 561A7315.1050209@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 10/11/2015 05:58 AM, Magnus Hagander wrote:
>
>
> On Sun, Oct 11, 2015 at 5:55 AM, Michael Paquier
> <michael(dot)paquier(at)gmail(dot)com <mailto:michael(dot)paquier(at)gmail(dot)com>> wrote:
>
> On Sun, Oct 11, 2015 at 8:54 AM, Ali Akbar <the(dot)apaan(at)gmail(dot)com
> <mailto:the(dot)apaan(at)gmail(dot)com>> wrote:
> > C:\Windows\system32>taskkill /F /PID 2080
> > SUCCESS: The process with PID 2080 has been terminated.
>
> taskkill /f *forcefully* terminates the process targeted [1]. Isn't
> that equivalent to a kill -9? If you headshot a backend process on
> Linux with kill -9, an instance won't restart either.
> [1]:
> http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/taskkill.mspx?mfr=true
>
>
>
> It does. If you want a "gracefull kill" on Windows, you must use
> "pg_ctl kill" which can send an "emulated term-signal".
>
>

Nevertheless, we'd like a hard crash of a backend other than the
postmaster not to have worse effects than on *nix, where killing a
backend even with SIGKILL doesn't halt the server:

andrew=# select pg_backend_pid();
pg_backend_pid
----------------
24359
(1 row)

andrew=# \! kill -9 24359
andrew=# select 1;
server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
The connection to the server was lost. Attempting reset: Succeeded.
andrew=#

Amit's proposals elsewhere to increase the shmem timeout and increase
logging seem reasonable.

cheers

andrew

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2015-10-11 15:22:55 Re: Postgres service stops when I kill client backend on Windows
Previous Message Michael Paquier 2015-10-11 13:13:14 Re: Release of CVEs