Re: Unanswered questions about Postgre

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Joel Burton" <jburton(at)scw(dot)org>
Cc: igorr(at)ifi(dot)uio(dot)no, kislo(at)athenium(dot)com, pgsql-general(at)postgresql(dot)org
Subject: Re: Unanswered questions about Postgre
Date: 2000-11-30 01:27:40
Message-ID: 25524.975547660@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Sandeep Joshi 2000-11-30 01:31:16 indices
Previous Message Brian Aker 2000-11-30 01:19:32 Date functions