James Coleman <jtc...@gmail.com> writes: > To my knowledge the current oldest xmin (GetOldestXmin() if I'm not > mistaken) isn't exposed directly in any view or function by Postgres.
You could do something like select max(age(backend_xmin)) from pg_stat_activity; though I'm not sure whether that accounts for absolutely every process. > Am I missing anything in the above description? And if not, would > there be any reason why we would want to avoid exposing that > information? And if not, then would exposing it as a function be > acceptable? The fact that I had to use max(age(...)) in that sample query hints at one reason: it's really hard to do arithmetic correctly on raw XIDs. Dealing with wraparound is a problem, and knowing what's past or future is even harder. What use-case do you foresee exactly? regards, tom lane