"Kevin Grittner" <Kevin.Grittner@wicourts.gov> writes:
> Is there a reasonably cheap way to check whether the backend has a
> WAL file open and whether that one is the current append target?
Detecting whether we have a WAL file open is trivial (just look at
the static variable holding the file descriptor). Determining whether
it's still the current append target is not so cheap though; it would
require examining shared-memory status which means taking a lock on
that status (and it's a high-traffic lock already).
We could have the open WAL file dropped if stale as a side-effect
anytime we have occasion to examine that shared state anyway. But
in a nearly-read-only session such as your example I'm not sure that
would happen often enough to fix the problem.
regards, tom lane