| From: | wenhui qiu <qiuwenhuifx(at)gmail(dot)com> |
|---|---|
| To: | Bharath Rupireddy <bharath(dot)rupireddyforpostgres(at)gmail(dot)com> |
| Cc: | Shinya Kato <shinya11(dot)kato(at)gmail(dot)com>, Sami Imseih <samimseih(at)gmail(dot)com>, Japin Li <japinli(at)hotmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: Report oldest xmin source when autovacuum cannot remove tuples |
| Date: | 2026-07-15 03:47:21 |
| Message-ID: | CAGjGUALq4QhHJsftYoqY=mi_1FgOZhhSg1pfoFvyP=9MWx4L_g@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Hi
> > +static const char *const OldestXminBlockerNames[] = {
> > + [OLDEST_XMIN_BLOCKER_NONE] = "none",
> > + [OLDEST_XMIN_BLOCKER_RUNNING_XACT] = "running transaction",
> > + [OLDEST_XMIN_BLOCKER_PREPARED_XACT] = "prepared transaction",
> > + [OLDEST_XMIN_BLOCKER_STANDBY_FEEDBACK] = "standby feedback",
> > + [OLDEST_XMIN_BLOCKER_REPLICATION_SLOT] = "replication slot",
> > + [OLDEST_XMIN_BLOCKER_LOGICAL_SLOT] = "logical replication slot",
>
No distinction was made between idle transactions and long-running
transactions.It is very important to distinguish between them, as this is
extremely helpful in guiding DBAs to identify the source of a
OldestXminBlocker.
Thanks
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Shinya Kato | 2026-07-15 04:01:47 | doc: REPACK is missing from the MAINTAIN privilege documentation |
| Previous Message | Bertrand Drouvot | 2026-07-15 03:37:47 | Re: Fix races conditions in DropRole() and GrantRole() |