module PgHero module Methods module Kill def kill(pid) select_one("SELECT pg_terminate_backend(#{pid.to_i})") end def kill_long_running_queries(min_duration: nil) running_queries(min_duration: min_duration || long_running_query_sec).each { |query| kill(query[:pid]) } true end def kill_all select_all <<~SQL SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE pid <> pg_backend_pid() AND query <> '' AND datname = current_database() SQL true end end end end