>> pg_is_in_recovery() returns a bool, are you proposing to change that? > > No. I just thought about adding more condition when it returns true.
Here is the patch. Comments are welcome! *** a/src/backend/access/transam/xlog.c --- b/src/backend/access/transam/xlog.c *************** *** 5604,5610 **** GetLatestXTime(void) Datum pg_is_in_recovery(PG_FUNCTION_ARGS) { ! PG_RETURN_BOOL(RecoveryInProgress()); } /* --- 5604,5613 ---- Datum pg_is_in_recovery(PG_FUNCTION_ARGS) { ! /* use volatile pointer to prevent code rearrangement */ ! volatile WalRcvData *walrcv = WalRcv; ! ! PG_RETURN_BOOL(RecoveryInProgress() && walrcv->walRcvState == WALRCV_RUNNING); } /* -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers