Module: PgHero::Methods::Kill

Included in:
Database
Defined in:
lib/pghero/methods/kill.rb

Instance Method Summary collapse

Instance Method Details

#kill(pid) ⇒ Object



4
5
6
# File 'lib/pghero/methods/kill.rb', line 4

def kill(pid)
  select_one("SELECT pg_terminate_backend(#{pid.to_i})")
end

#kill_allObject



13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/pghero/methods/kill.rb', line 13

def kill_all
  select_all <<~SQL
    SELECT
      pg_terminate_backend(pid)
    FROM
      pg_stat_activity
    WHERE
      pid <> pg_backend_pid()
      AND query <> '<insufficient privilege>'
      AND datname = current_database()
  SQL
  true
end

#kill_long_running_queries(min_duration: nil) ⇒ Object



8
9
10
11
# File 'lib/pghero/methods/kill.rb', line 8

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