with pages (blkno) as (select generate_series::int from generate_series(0, pg_relation_size('t')/current_setting('block_size')::int - 1)), rawpages (blkno, pg) as (select blkno, get_raw_page from pages, get_raw_page('t', blkno)), heapitems as (select blkno, heap_page_items.* from rawpages, heap_page_items(pg)) select blkno, lp, lp_flags, lp_off, t_xmin, t_xmax, t_ctid, infomask(t_infomask, 1) as infomask, infomask(t_infomask2, 2) as infomask2 from heapitems where lp_off <> 0