Robert Haas <> writes:
> On Thu, Jan 2, 2014 at 2:44 PM, Tom Lane <> wrote:
>> As I commented to Robert, the page-at-a-time behavior of pageinspect
>> is not an API detail we'd want to copy for this.  I envision something
>> like
>> select hdr.*, foo.*
>> from tuple_header_details('foo'::regclass) as hdr
>> left join foo on hdr.ctid = foo.ctid;
>> On a large table you might want a version that restricts its scan
>> to pages M through N, but that's just optimization.  More useful
>> would be to improve the planner's intelligence about joins on ctid ...

> /me blinks.

> Surely you're not serious.  That's going to scan the whole darn table
> even if we only want the details for one row.

And?  The complaint about the other function was that it was inefficient
when getting the details for a whole table, so I don't think you can
complain about an approach that handles that case well.  Use the other
function if you just want info for one row (that you can see).

                        regards, tom lane

Sent via pgsql-hackers mailing list (
To make changes to your subscription:

Reply via email to