Sha256: 38d05dff403a7e7c052e40712d33b3b2e5a6b222c8f47cea0b6582c0ecb66bcc

Contents?: true

Size: 671 Bytes

Versions: 1

Compression:

Stored size: 671 Bytes

Contents

# frozen_string_literal: true

module RailsPGExtras
  def self.locks_description
    "Queries with active exclusive 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

1 entries across 1 versions & 1 rubygems

Version Path
rails-pg-extras-0.4.1 lib/rails-pg-extras/queries/locks.rb