Skip to content

Instantly share code, notes, and snippets.

@mravey
Last active February 1, 2018 13:57
Show Gist options
  • Save mravey/0ddd90cf4418b5985eaf6d37b52fd528 to your computer and use it in GitHub Desktop.
Save mravey/0ddd90cf4418b5985eaf6d37b52fd528 to your computer and use it in GitHub Desktop.
Kill all query running for more than 1 hour on PostgreSQL
DO $$
DECLARE
r RECORD;
BEGIN
FOR r IN
SELECT pid
FROM pg_stat_activity
WHERE query != '<IDLE>' AND query NOT ILIKE '%pg_stat_activity%' AND usename = 'write_1' AND
age(query_start, clock_timestamp()) < -(INTERVAL '1 hour')
ORDER BY age(query_start, clock_timestamp()) ASC
LOOP
PERFORM pg_cancel_backend(r.pid);
END LOOP;
END $$;
SELECT
pid,
age(query_start, clock_timestamp())
FROM pg_stat_activity
WHERE query != '<IDLE>' AND query NOT ILIKE '%pg_stat_activity%' AND usename = 'write_1' AND
age(query_start, clock_timestamp()) < -(INTERVAL '1 hour')
ORDER BY age(query_start, clock_timestamp()) ASC;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment