AW: sql query for postgres replication check - Mailing list pgsql-general

From Zwettler Markus (OIZ)
Subject AW: sql query for postgres replication check
Date
Msg-id 0df1cf5f79f546ce9797e8510ad22047@zuerich.ch
Whole thread Raw
In response to Re: sql query for postgres replication check  (Michael Paquier <michael@paquier.xyz>)
List pgsql-general
> On Fri, Nov 22, 2019 at 01:20:59PM +0000, Zwettler Markus (OIZ) wrote:
> > I came up with the following query which should return any apply lag in seconds.
> >
> > select coalesce(replay_delay, 0) replication_delay_in_sec from (
> >        select datname,
> >               (
> >                 select case
> >                          when received_lsn = latest_end_lsn then 0
> >                          else extract(epoch
> >                 from now() - latest_end_time)
> >                        end
> >                 from pg_stat_wal_receiver
> >               ) replay_delay
> >        from pg_database
> >        where datname = current_database()
> >      ) xview;
> >
> >
> > I would expect delays >0 in case SYNC or ASYNC replication is somehow
> > behind. We will do a warning at 120 secs and critical at 300 secs.
>
> pg_stat_wal_receiver is available only on the receiver, aka the standby so it would
> not really be helpful on a primary.  On top of that streaming replication is system-
> wide, so there is no actual point to look at databases either.
>
> > Would this do the job or am I missing something here?
>
> Here is a suggestion for Nagios: hot_standby_delay, as told in
> https://github.com/bucardo/check_postgres/blob/master/check_postgres.pl
> --
> Michael


I don't want to use check_hot_standby_delay as I would have to configure every streaming replication configuration
separatelywith nagios. 

I want a generic routine which I can load on any postgres server regardless of streaming replication or database role.

The query would return >0 if streaming replication falls behind and 0 in all other cases (replication or not).

Checking streaming replication per database doesn't make any sense to me.

Markus




pgsql-general by date:

Previous
From: Jill Jade
Date:
Subject: Pgadmin 4 schema visibility
Next
From: Murtuza Zabuawala
Date:
Subject: Re: Pgadmin 4 schema visibility