Re: pg_stat_database.xact_commit + pg_stat_database.xact_rollback as a reliable metric for xid consumption ?

From: Keith Fiske <keith(dot)fiske(at)crunchydata(dot)com>
To: Achilleas Mantzios <achill(at)matrix(dot)gatewaynet(dot)com>
Cc: Pgsql-admin <pgsql-admin(at)lists(dot)postgresql(dot)org>
Subject: Re: pg_stat_database.xact_commit + pg_stat_database.xact_rollback as a reliable metric for xid consumption ?
Date: 2020-06-01 14:52:10
Message-ID: CAODZiv4jb12wTPTnQqv5E291ZSGSAw7VkmKH1Ajeqw3jTON7Pw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

On Mon, Jun 1, 2020 at 8:41 AM Achilleas Mantzios <
achill(at)matrix(dot)gatewaynet(dot)com> wrote:

> Hello Julien
> On 1/6/20 2:03 μ.μ., Julien Rouhaud wrote:
> > On Mon, Jun 1, 2020 at 12:48 PM Achilleas Mantzios
> > <achill(at)matrix(dot)gatewaynet(dot)com> wrote:
> >> On 1/6/20 1:36 μ.μ., Julien Rouhaud wrote:
> >>> On Mon, Jun 1, 2020 at 12:02 PM Achilleas Mantzios
> >>> <achill(at)matrix(dot)gatewaynet(dot)com> wrote:
> >>> Because read only transaction usually don't consume an xid. So yes
> >>> pg_stat_database gives a more reasonable approximation of the real
> >>> number of transactions happening on the server.
> >> Thank you, so what would be the official way to monitor txid
> consumption (from a MVCC / Freezing admin POV)?
> > I'm not sure what you're really looking for.
> I've been as explicit as it gets. When ppl talk about vacuum freeze what
> they have in mind is xmin's and xmax's and the rate that xids grow and
> consume the 2^31 address space, so I find it strange
> that such a basic metric is not included in the core statistics collector.
> That's all.
> >
>
>
> --
> Achilleas Mantzios
> IT DEV Lead
> IT DEPT
> Dynacom Tankers Mgmt
>
>
>
>
I've done a writeup on effectively monitoring for xid
exhaustion/wraparound.

https://info.crunchydata.com/blog/managing-transaction-id-wraparound-in-postgresql

It is relatively simple to get the current xid state applying the age()
function to the pg_database catalog:

SELECT datname, age(datfrozenxid),
current_setting('autovacuum_freeze_max_age') FROM pg_database ORDER BY 2
DESC;

But the query in the linked blog post provides things in a more
user-friendly manner for monitoring purposes as simple percentages

--
Keith Fiske
Senior Database Engineer
Crunchy Data - http://crunchydata.com

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Keith Fiske 2020-06-01 15:47:32 Re: Suggestion to Monitoring Tool
Previous Message Achilleas Mantzios 2020-06-01 12:40:51 Re: pg_stat_database.xact_commit + pg_stat_database.xact_rollback as a reliable metric for xid consumption ?