Re: Change pg_cancel_*() to ignore current backend - Mailing list pgsql-hackers

From Andres Freund
Subject Re: Change pg_cancel_*() to ignore current backend
Date
Msg-id 20150522223539.GO2028@alap3.anarazel.de
Whole thread Raw
In response to Re: Change pg_cancel_*() to ignore current backend  (Jim Nasby <Jim.Nasby@BlueTreble.com>)
Responses Re: Change pg_cancel_*() to ignore current backend  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On 2015-05-22 17:29:03 -0500, Jim Nasby wrote:
> On 5/22/15 4:51 PM, Tom Lane wrote:
> >Jim Nasby <Jim.Nasby@BlueTreble.com> writes:
> >>On 5/22/15 3:08 PM, Eric Ridge wrote:
> >>>Rather than change the behavior of pg_cancel/terminate_backend(), why not change pg_stat_activity to exclude the
currentsession?  Seems like showing a row in pg_stat_activity for "SELECT * FROM pg_stat_activity" is kinda useless
anyways.
> >
> >>Interesting idea. I suspect that would be even more invasive than
> >>modifying the functions though...
> >
> >-1 ... some other columns in pg_stat_activity are potentially useful even
> >for the current session, eg session and transaction start times.
> 
> AFAICT the only field you can get in pg_stat_activity and nowhere else is
> session start time (txn start is always now(), no?).
> 
> If that's the only objection about eliminating the current backend from
> pg_stat_activity then I'd say we should just add a session_start_time
> function to handle that.

That's far too big a backward compat break for something of very minor
benefit.

This whole discussion seems to be about making it easier to run SELECT
pg_cancel_backend(pid) FROM pg_stat_activity;. But that shouldn't be
made easier! If anything harder.



pgsql-hackers by date:

Previous
From: Jim Nasby
Date:
Subject: Re: Change pg_cancel_*() to ignore current backend
Next
From: Tom Lane
Date:
Subject: Re: Change pg_cancel_*() to ignore current backend