On 06/25/2012 01:17 PM, David Kerr wrote:
Howdy,

When calculating Replication lag, I know that we have to compare the 
pg_current_xlog_location
to pg_last_xlog_receive_location, etc. but what I'm trying to figure out is 
what are
the units that I'm left with after the calculation.

(i.e., does the xlog_location imply some time value?)

Here's the output of the (slightly modified script)
Master: 5003964876715
Receive: 5003964876715
Replay: 5003964765203

receive.value 0
apply.value 111512

111512 isn't inherently useful to me on its own.

Any tips?

How about now()-pg_last_xact_replay_timestamp() (however this can be a large number if there have not been any recent transactions on the master). I suppose you could do something like:

case when pg_last_xlog_receive_location() = pg_last_xlog_replay_location() then '0 seconds'::interval
else now()-pg_last_xact_replay_timestamp() end as log_delay;

But I'm wrapping my head around some replication issues myself so others may have better ideas or corrections.

Cheers,
Steve


--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to