Sha256: 853c1cc561999f9a12820e74831d6a62bce9ff7ebda5ee9fb033225076ec8966

Contents?: true

Size: 679 Bytes

Versions: 22

Compression:

Stored size: 679 Bytes

Contents

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 <> '<insufficient privilege>'
            AND datname = current_database()
        SQL
        true
      end
    end
  end
end

Version data entries

22 entries across 22 versions & 2 rubygems

Version Path
pghero-3.2.0 lib/pghero/methods/kill.rb
pghero-3.1.0 lib/pghero/methods/kill.rb
pghero-3.0.1 lib/pghero/methods/kill.rb
pghero-3.0.0 lib/pghero/methods/kill.rb
pghero-2.8.3 lib/pghero/methods/kill.rb
pghero-2.8.2 lib/pghero/methods/kill.rb
pghero-2.8.1 lib/pghero/methods/kill.rb
pghero-2.8.0 lib/pghero/methods/kill.rb
pghero-2.7.4 lib/pghero/methods/kill.rb
pghero_fork-2.7.3 lib/pghero/methods/kill.rb
pghero-2.7.3 lib/pghero/methods/kill.rb
pghero-2.7.2 lib/pghero/methods/kill.rb
pghero-2.7.1 lib/pghero/methods/kill.rb
pghero-2.7.0 lib/pghero/methods/kill.rb
pghero-2.6.0 lib/pghero/methods/kill.rb
pghero-2.5.1 lib/pghero/methods/kill.rb
pghero-2.5.0 lib/pghero/methods/kill.rb
pghero-2.4.2 lib/pghero/methods/kill.rb
pghero-2.4.1 lib/pghero/methods/kill.rb
pghero-2.4.0 lib/pghero/methods/kill.rb