Re: FrozenTransactionId

From: Egor Rogov <e(dot)rogov(at)postgrespro(dot)ru>
To: pgsql-docs(at)postgresql(dot)org
Subject: Re: FrozenTransactionId
Date: 2016-09-06 22:31:49
Message-ID: 57CF43D5.7080306@postgrespro.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-docs

On 06.09.2016 23:41, Tom Lane wrote:
> Egor Rogov <e(dot)rogov(at)postgrespro(dot)ru> writes:
>> Right, it does not say that FrozenTransactionId is what appears on disk,
>> but what is? There is no such information anywhere in the doc. Since 9.4
>> frozen transactions have their normal XIDs preserved, so how a user can
>> tell normal transaction from frozen one? This is what needs to be
>> explained, I believe.
> I'm afraid the answer is "you can't tell". The infomask bits in tuple
> headers aren't exposed via SQL. If you're really desperate,
> contrib/pageinspect would help, but I don't propose mentioning that here.
>
> In general, I'm not really sure why users would care very much at
> a tuple-by-tuple level.

"Normal" users shouldn't care of course, but DBAs sometimes have to. The
old description could be easily misunderstood and one might expect to
see FrozenTransactionId in xmin field (I know several people who wasted
hours trying to figure out what's wrong with vacuum freeze). Now the
description is much cleaner, thanks!

> Aggregate statistics would be interesting,
> which raises the question why contrib/pgstattuple doesn't provide
> frozen-tuples counts.
>
> regards, tom lane
>
>
Regards,
Egor Rogov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company

In response to

Browse pgsql-docs by date

  From Date Subject
Next Message Michael Paquier 2016-09-07 01:13:25 Re: Foreign Table docs are way to brief.
Previous Message Tom Lane 2016-09-06 21:52:37 Re: FrozenTransactionId