"Simon Riggs" <[EMAIL PROTECTED]> writes:

> On Wed, 2007-12-05 at 08:24 +0000, Gregory Stark wrote:
>> "Tom Lane" <[EMAIL PROTECTED]> writes:
>> 
>> > Simon Riggs <[EMAIL PROTECTED]> writes:
>> >> I'm thinking that there isn't any way currently of working out how big a
>> >> compressed toast object is?
>> >
>> > pg_column_size() ?
>> 
>> I was going to send the same thing but I think he's looking for the 
>> compressed
>> size of *external* data.
>> 
>> In fact there isn't really any convenient way to find out something is stored
>> external. pg_column_size reports the toast raw size of externally stored 
>> data.
>> 
>> There does seem to be a need for a more general pg_column_info which returns 
>> a
>> tuple (external bool, rawsize integer, storedsize integer).
>
> That sounds more like what I was after.
>
> So let me check my understanding: For TOASTed data pg_column_size()
> tells you how many bytes the column value occupies when decompressed.

Wait, no, it's supposed to be the actual size on disk. *checks* yeah, it's the
extsize which is the size of the datum in the toast table. So you could find
the compression ratio by calling length() and pg_column_size() at least for
text data.

I still think a single function returning those columns would be a nice thing
to have to make the api complete.

-- 
  Gregory Stark
  EnterpriseDB          http://www.enterprisedb.com
  Get trained by Bruce Momjian - ask me about EnterpriseDB's PostgreSQL 
training!

---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Reply via email to