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.
Thoughts?
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp