Re: SIGKILL and force disconnecting user sessions

From: Tino Schwarze <postgresql(at)tisc(dot)de>
To: pgsql-admin(at)postgresql(dot)org
Subject: Re: SIGKILL and force disconnecting user sessions
Date: 2008-09-22 15:06:34
Message-ID: 20080922150634.GE10876@easy2.in-chemnitz.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

On Mon, Sep 22, 2008 at 09:43:29AM -0400, Brian A. Seklecki wrote:

BTW: What version of PG are you using?

> We need to kill apache P-conn pools from a an application/web server
> cluster for a specific database. We use a load-balancer, so we shut
> down the HA L4 Service VIP that the web servers pconnect() to, to
> prevent new incoming connections.
>
> The problem is then net.inet.tcp.* timeouts. We need to cane existing
> connections with a quickness, and pg_stat_activity is a read-only view.
>
> We need to kill the stale pcons, so just:
> $ pkill -a [database string]
>
> The connection goes away as "Disconnected per admin command"
>
> I just want to confirm:
>
> 1) There are no data consistency threats to SIGKIL a child thread
> process? Transactions and locks will be handled gracefully?

As far, as you do not really use SIGKILL (9), but SIGTERM (15),
everything should be fine.

> 2) There are no pgsql/admin level CLI builtin commands to do this in a
> more graceful manor?

You might want to try pg_cancel_backend(pid) to cancel backends,
but I suppose, the connection will stay alive.
- see http://www.postgresql.org/docs/8.2/static/functions-admin.html

HTH,

Tino.

--
"What we nourish flourishes." - "Was wir nähren erblüht."

www.craniosacralzentrum.de
www.forteego.de

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Lennin Caro 2008-09-22 15:56:30 Re: displaying enum
Previous Message chirag.dave 2008-09-22 14:53:06 Re: displaying enum