Module: PgHero::Methods::Replica

Included in:
PgHero
Defined in:
lib/pghero/methods/replica.rb

Instance Method Summary collapse

Instance Method Details

#replica?Boolean

Returns:

  • (Boolean)


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

def replica?
  select_all("SELECT setting FROM pg_settings WHERE name = 'hot_standby'").first["setting"] == "on"
end

#replication_lagObject



9
10
11
12
13
14
15
16
17
18
19
# File 'lib/pghero/methods/replica.rb', line 9

def replication_lag
  select_all(<<-SQL
    SELECT
      CASE
        WHEN pg_last_xlog_receive_location() = pg_last_xlog_replay_location() THEN 0
        ELSE EXTRACT (EPOCH FROM NOW() - pg_last_xact_replay_timestamp())
      END
    AS replication_lag
  SQL
  ).first["replication_lag"].to_f
end