From: | Jakub Jindra <skomonster(at)gmail(dot)com> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: giving a user permission to kill their processes only |
Date: | 2014-07-18 15:25:32 |
Message-ID: | CALvBOvXrzgBkVYsKVci5ykarWvZ0Ka6=h=uDdJG01BSXETZOTA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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
<http://www.slusnyweb.cz>
From | Date | Subject | |
---|---|---|---|
Next Message | Dennis Jenkins | 2014-07-18 15:31:40 | Re: Petition: Treat #!... shebangs as comments |
Previous Message | Sergey Konoplev | 2014-07-18 15:20:33 | Re: statement_timeout doesn't work |