Module: PgMonitor::IndexUsage

Defined in:
lib/pg_monitor/index_usage.rb

Class Method Summary collapse

Class Method Details

.fetchObject



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/pg_monitor/index_usage.rb', line 7

def fetch
  query = <<~SQL
    SELECT 
      relname AS table_name,
      indexrelname AS index_name,
      idx_scan AS index_scan_count,
      idx_tup_read AS tuples_read,
      idx_tup_fetch AS tuples_fetched,
      last_idx_scan AS last_index_scan,
      pg_size_pretty(pg_relation_size(indexrelid)) AS index_size,
      pg_size_pretty(pg_total_relation_size(indexrelid)) AS total_index_size
    FROM pg_stat_user_indexes
    ORDER BY idx_scan DESC;
  SQL

  result = DBConnection.connection.exec(query)
  result.map { |row| row }
end