Thanks Michael- That was indeed the issue. We have a very complex wrapper
application that walks the server through multiple state transitions, and
it turned out that in the state I was running the query from, streaming
replication wasn't configured.
On Wed, Mar 1, 2017 at 4:36 PM Michael Paquier <michael.paqu...@gmail.com>
wrote:

> On Thu, Mar 2, 2017 at 5:53 AM, Zach Walton <zacw...@gmail.com> wrote:
> > I was able to test 9.4.11 and am seeing the same behavior:
> >
> > postgres=# SELECT pg_is_in_recovery(), pg_last_xlog_receive_location(),
> > pg_last_xlog_replay_location();
> >  pg_is_in_recovery | pg_last_xlog_receive_location |
> > pg_last_xlog_replay_location
> >
> -------------------+-------------------------------+------------------------------
> >  t                 |                               | 0/3000198
>
> Okay, you said that you are using here streaming replication, but the
> standby you are performing this query on seems just to be a hot
> standby recovering WAL from a WAL archive, not via streaming. I would
> bet that there is no WAL receiver running.
> pg_last_xlog_receive_location() get the last WAL position received
> from a streaming node, something that is set to NULL if there is no
> streaming happening, while pg_last_xlog_replay_location() is set by
> the startup process when replaying WAL records.
>
> Again I see no bugs here, you should check if a WAL receiver is
> running on this standby server.
> --
> Michael
>

Reply via email to