Re: Transaction ID Wraparound Monitoring - Mailing list pgsql-general

From Adrian Klaver
Subject Re: Transaction ID Wraparound Monitoring
Date
Msg-id 55BA1EEA.4030903@aklaver.com
Whole thread Raw
In response to Transaction ID Wraparound Monitoring  (Jan Keirse <jan.keirse@tvh.com>)
Responses Re: Transaction ID Wraparound Monitoring  (Jan Keirse <jan.keirse@tvh.com>)
List pgsql-general
On 07/30/2015 02:55 AM, Jan Keirse wrote:
> Hello,
>
> we have some very write heavy databases and I have our monitoring
> system watch the transaction age of my databases to be alerted before
> we get into problems in case autovacuum can't keep up to avoid
> transaction ID wraparound.
>
> The query I am executing is this:
> SELECT max(age(pg_database.datfrozenxid)) / 2147483648.0 * 100.0 AS
> "Percentage of transaction ID's used" FROM pg_database;
>
> My believe was that if this reaches 100 the database will stop
> accepting writes and one must vacuum. I have set alerts on 50 and 90,
> the result is around 9 so my believe was autovacuum is working fine
> for my workload.
> I often see autovacuum kicking in to prevent XID Wraparround, I
> thought that was just to be on the safe side and vacuum well before
> it's too late.
>
> However today I saw this post:
> http://blog.getsentry.com/2015/07/23/transaction-id-wraparound-in-postgres.html
>
> The following line has me worried:
> ... that database is going to reach a situation where the XID counter
> has reached its maximum value. The absolute peak is something around 2
> billion, but it can be far lower than that in some situations...
>
> Could someone shed some light on this? Is my query insufficient? Can
> the transaction wrapparound freeze problem indeed occur earlier? And
> if so, could someone suggest a better query to monitor?

I would look at:

http://www.postgresql.org/docs/9.4/interactive/routine-vacuuming.html#VACUUM-FOR-WRAPAROUND

Which includes some query examples.

>
> Kind Regards,
>
> Jan Keirse
>


--
Adrian Klaver
adrian.klaver@aklaver.com


pgsql-general by date:

Previous
From: Rowan Collins
Date:
Subject: Exclusively locking parent tables while disinheriting children.
Next
From: Curt Micol
Date:
Subject: Re: Logical decoding off of a replica?