Sha256: fa433214f802218a758eca0f6fc4231890f25645dfb40d89038301aef91cce48

Contents?: true

Size: 661 Bytes

Versions: 3

Compression:

Stored size: 661 Bytes

Contents

# frozen_string_literal: true

module RailsPGExtras
  def self.locks_description
    "Queries with active locks"
  end

  def self.locks_sql
    <<-EOS
SELECT
  pg_stat_activity.pid,
  pg_class.relname,
  pg_locks.transactionid,
  pg_locks.granted,
  pg_stat_activity.query AS query_snippet,
  age(now(),pg_stat_activity.query_start) AS "age"
FROM pg_stat_activity,pg_locks left
OUTER JOIN pg_class
  ON (pg_locks.relation = pg_class.oid)
WHERE pg_stat_activity.query <> '<insufficient privilege>'
  AND pg_locks.pid = pg_stat_activity.pid
  AND pg_locks.mode = 'ExclusiveLock'
  AND pg_stat_activity.pid <> pg_backend_pid() order by query_start;
EOS
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rails-pg-extras-0.4.0 lib/rails-pg-extras/queries/locks.rb
rails-pg-extras-0.3.0 lib/rails-pg-extras/queries/locks.rb
rails-pg-extras-0.2.0 lib/rails-pg-extras/queries/locks.rb