Egor Rogov <e.rogov@postgrespro.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. Aggregate statistics would be interesting,
which raises the question why contrib/pgstattuple doesn't provide
frozen-tuples counts.
regards, tom lane