> What I would want to investigate after seeing such a signal is not
> necessarily what happened to be blocking that particular VACUUM
> operation at some earlier point, but what is holding the xid horizon
> back now. For that purpose, a view exposing the current xid/xmin
> holders seems more useful and less misleading than adding a
> best-effort blocker guess to the VACUUM log.
I've been working on a view like this. It shows the horizon
contribution for each backend, prepared xact, replication slot, and
HSF walsender, broken down by class. It also shows - for each
contributor - how the horizon would shift if that holder were
removed.
Shinya said [1] that we could have a view in the future. We could
have both the logging and the view call a single function that reads
the procArray and other sources to gather the horizon information. I
think the logging and the view would complement each other.
Should I start another thread?
[1] https://www.postgresql.org/message-id/CAOzEurTNVkvvscKeEOy0WwfzyqO+J_MyXwkjRteJ_zyydteKCQ@mail.gmail.com
--
Scott Ray