Re: Postgres-native method to identify if a tuple is frozen - Mailing list pgsql-hackers

From Amit Kapila
Subject Re: Postgres-native method to identify if a tuple is frozen
Date
Msg-id CAA4eK1L1mNU5RkuDmEix=5hJRfaLsibeHdCR-YnjWixi_35cZw@mail.gmail.com
Whole thread Raw
In response to Postgres-native method to identify if a tuple is frozen  (Lawrence Jones <lawrence@gocardless.com>)
Responses Re: Postgres-native method to identify if a tuple is frozen  (Lawrence Jones <lawrence@gocardless.com>)
List pgsql-hackers
On Mon, Jul 20, 2020 at 9:07 PM Lawrence Jones <lawrence@gocardless.com> wrote:
>
>
> So we hit the question: how can we identify if a tuple is frozen? I know the tuple has both committed and aborted
hintbits set, but accessing those bits seems to require superuser functions and are unlikely to be that fast.
 
>
> Are there system columns (similar to xmin, tid, cid) that we don't know about?
>

I think the way to get that information is to use pageinspect
extension and use some query like below but you are right that you
need superuser privilege for that:

SELECT t_ctid, raw_flags, combined_flags
         FROM heap_page_items(get_raw_page('pg_class', 0)),
           LATERAL heap_tuple_infomask_flags(t_infomask, t_infomask2)
         WHERE t_infomask IS NOT NULL OR t_infomask2 IS NOT NULL;

-- 
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com



pgsql-hackers by date:

Previous
From: Daniel Gustafsson
Date:
Subject: OpenSSL randomness seeding
Next
From: Dilip Kumar
Date:
Subject: Re: Allow ERROR from heap_prepare_freeze_tuple to be downgraded to WARNING