Re: giving a user permission to kill their processes only - Mailing list pgsql-general

From Jakub Jindra
Subject Re: giving a user permission to kill their processes only
Date
Msg-id CALvBOvXrzgBkVYsKVci5ykarWvZ0Ka6=h=uDdJG01BSXETZOTA@mail.gmail.com
Whole thread Raw
In response to giving a user permission to kill their processes only  (George Nychis <gnychis@cmu.edu>)
List pgsql-general
I was looking for solution like this. Actually I made a few changes proposed by Robert Treat:
* SESSION_USER insetead of CURRENT_USER
* Added filter for username and procpid from pg_stat_activity

Alternatively you can create similar function for pg_terminate_backend - it pid's terminates backend connection. I hope this could help someone.

BEGIN;
CREATE FUNCTION my_cancel_backend(integer) RETURNS boolean AS 'SELECT pg_terminate_backend((SELECT procpid FROM pg_stat_activity WHERE usename=SESSION_USER AND procpid=$1));'
LANGUAGE SQL SECURITY DEFINER;
REVOKE EXECUTE ON FUNCTION my_cancel_backend(integer) FROM PUBLIC;
COMMIT;

GRANT EXECUTE ON FUNCTION my_cancel_backend(integer) TO myuser;

--
Jakub Jindra

pgsql-general by date:

Previous
From: Ramesh T
Date:
Subject: Need r_constraint_name
Next
From: Anil Menon
Date:
Subject: Referencing serial col's sequence for insert