Re: killing pg_dump leaves backend process

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: killing pg_dump leaves backend process
Дата
Msg-id 417.1376109030@sss.pgh.pa.us
обсуждение исходный текст
Ответ на killing pg_dump leaves backend process  (Tatsuo Ishii <ishii@postgresql.org>)
Ответы Re: killing pg_dump leaves backend process  (Greg Stark <stark@mit.edu>)
Re: killing pg_dump leaves backend process  (Christopher Browne <cbbrowne@gmail.com>)
Список pgsql-hackers
Tatsuo Ishii <ishii@postgresql.org> writes:
> I noticed pg_dump does not exit gracefully when killed.
> start pg_dump
> kill pg_dump by ctrl-c
> ps x

> 27246 ?        Ds    96:02 postgres: t-ishii dbt3 [local] COPY    
> 29920 ?        S      0:00 sshd: ishii@pts/5
> 29921 pts/5    Ss     0:00 -bash
> 30172 ?        Ss     0:00 postgres: t-ishii dbt3 [local] LOCK TABLE waiting

> As you can see, after killing pg_dump, a backend process is (LOCK
> TABLE waiting) left behind. I think this could be easily fixed by
> adding signal handler to pg_dump so that it catches the signal and
> issues a query cancel request.

If we think that's a problem (which I'm not convinced of) then pg_dump
is the wrong place to fix it.  Any other client would behave the same
if it were killed while waiting for some backend query.  So the right
fix would involve figuring out a way for the backend to kill itself
if the client connection goes away while it's waiting.
        regards, tom lane



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

Предыдущее
От: Andres Freund
Дата:
Сообщение: Re: mvcc catalo gsnapshots and TopTransactionContext
Следующее
От: Noah Misch
Дата:
Сообщение: Re: Proposal: leave a hint when switching logging away from stderr