Re: [HACKERS] Avoiding io penalty when updating large objects - Mailing list pgsql-general

From Tom Lane
Subject Re: [HACKERS] Avoiding io penalty when updating large objects
Date
Msg-id 4477.1120017539@sss.pgh.pa.us
Whole thread Raw
In response to Re: [HACKERS] Avoiding io penalty when updating large objects  (Alvaro Herrera <alvherre@surnet.cl>)
Responses Re: [HACKERS] Avoiding io penalty when updating large objects
List pgsql-general
Alvaro Herrera <alvherre@surnet.cl> writes:
> On Tue, Jun 28, 2005 at 07:38:43PM -0700, Mark Dilger wrote:
>> If, for a given row, the value of c is, say, approximately 2^30 bytes
>> large, then I would expect it to be divided up into 8K chunks in an
>> external table, and I should be able to fetch individual chunks of that
>> object (by offset) rather than having to detoast the whole thing.

> I don't think you can do this with the TOAST mechanism.  The problem is
> that there's no API which allows you to operate on only certain chunks
> of data.

There is the ability to fetch chunks of a toasted value (if it was
stored out-of-line but not compressed).  There is no ability at the
moment to update it by chunks.  If Mark needs the latter then large
objects are probably the best bet.

I'm not sure what it'd take to support chunkwise update of toasted
fields.  Jan, any thoughts?

            regards, tom lane

pgsql-general by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: [HACKERS] Avoiding io penalty when updating large objects
Next
From: Mark Dilger
Date:
Subject: Re: [HACKERS] Avoiding io penalty when updating large objects