From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> |
Cc: | James Coleman <jtc331(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Proposal: Expose oldest xmin as SQL function for monitoring |
Date: | 2020-04-01 23:57:32 |
Message-ID: | 9091.1585785452@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> writes:
> On 2020-Apr-01, Tom Lane wrote:
>> 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?
> Maybe it would make sense to start exposing fullXids in these views and
> functions, for this reason. There's no good reason to continue to
> expose bare Xids to userspace, we should use them only for storage.
+1, that would help a lot.
> But I think James' point is precisely that it's not easy to know where
> to look for things that keep Xmin from advancing. Currently it's
> backends, replication slots, prepared transactions, and replicas with
> hot_standby_feedback. If you forget to monitor just one of these, your
> vacuums might be useless and you won't notice until disaster strikes.
Agreed, but just knowing what the oldest xmin is doesn't help you
find *where* it is. Maybe what we need is a view showing all of
these potential sources of an old xmin.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2020-04-01 23:59:51 | Re: snapshot too old issues, first around wraparound and then more. |
Previous Message | Tom Lane | 2020-04-01 23:46:50 | Re: Ltree syntax improvement |