On 05/22/2015 03:35 PM, Andres Freund wrote:
> 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.
Linux doesn't prevent you from running Kill on your own process, either.Would be interesting to find out how their
discussionon the same topic
went.
--
Josh Berkus
PostgreSQL Experts Inc.
http://pgexperts.com