Re: psql 9.3 automatic recovery in progress

From: Alban Hertroys <haramrae(at)gmail(dot)com>
To: Periko Support <pheriko(dot)support(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: psql 9.3 automatic recovery in progress
Date: 2016-10-10 19:28:43
Message-ID: 7F880AF0-E338-4764-B8A9-9FEB990DB7E8@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general


> On 10 Oct 2016, at 21:12, Periko Support <pheriko(dot)support(at)gmail(dot)com> wrote:
>
> for pid in idle_record:
> try:
> # print "process details",pid
> # os.system("kill -9 %s" % (int(pid[0]), ))
> os.kill(int(pid[0]), signal.SIGKILL)
> except OSError as ex:
> continue

That query returns PostgreSQL backends and you're sending them SIGKILL. Not a recommended practice far as I know. Shouldn't you rather be sending those kill signals to the clients connecting to the db?
Worse, apparently at some time in the past (a month ago matching those logs, perhaps?) it used to send kill -9! That's absolutely a very bad idea.

While on the topic, there is a PG function to cancel a backend query from within PG: https://www.postgresql.org/docs/9.5/static/functions-admin.html
I think that's the best way to go about this, and best of all, you can combine that with your select statement.

Alban Hertroys
--
If you can't see the forest for the trees,
cut the trees and you'll find there is no forest.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Alban Hertroys 2016-10-10 19:32:49 Re: psql 9.3 automatic recovery in progress
Previous Message Pavel Stehule 2016-10-10 19:25:15 Re: psql 9.3 automatic recovery in progress