Re: Unanswered questions about Postgre - Mailing list pgsql-general

From Tom Lane
Subject Re: Unanswered questions about Postgre
Date
Msg-id 25524.975547660@sss.pgh.pa.us
Whole thread Raw
In response to Re: Unanswered questions about Postgre  ("Joel Burton" <jburton@scw.org>)
List pgsql-general
>> How _much_ longer? (Sorry if it's a FAQ, in that case, I'd appreciate
>> a pointer/URL).

> Dunno, but I've been using 7.1devel for ~2 months, and so far,
> longer rows seem to work fine.

> More information on the TOAST project is at
> http://www.postgresql.org/projects/devel-toast.html

I think I pontificated about this a month or two back, so check the
archives; but the short answer is that the effective limit under TOAST
is not on the total amount of data in a row, but just on the number of
columns.  The master copy of the row still has to fit into a block.
Worst case, suppose every one of your columns is "wide" and so gets
pushed out to BLOB storage.  The BLOB pointer that still has to fit
into the main row takes 32 bytes.  With a maximum main row size of 8K,
you can have about 250 columns.  In practice, probably some of your
columns would be ints or floats or booleans or something else that
takes up less than 32 bytes, so the effective limit is probably
order-of-magnitude-of 1000 columns in a table.

If that seems too small, maybe you need to rethink your database design
;-)

There's also a 1G limit on the size of an individual BLOB that can be
part of a row.

            regards, tom lane

pgsql-general by date:

Previous
From: "Joel Burton"
Date:
Subject: Re: Unanswered questions about Postgre
Next
From: Tom Lane
Date:
Subject: Re: Bug? 'psql -l' in pg_ctl?