1600 column limit per table

From: Mike Weber <j_weber(at)tcdi(dot)com>
To: pgsql-admin(at)postgresql(dot)org
Subject: 1600 column limit per table
Date: 2008-05-23 19:35:38
Message-ID: 48371C8A.7000206@tcdi.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

I ran into the 1600 column upper bound in a table and I am trying to
assess if I can work around the limit or if I am in need of a re-design
of my application. All the documentation on the site that I have seen
(CREATE TABLE and postgresql.org/about/) says that 1600 is the limit, I
looked in htup.h and found:

./src/include/access/htup.h:#define MaxHeapAttributeNumber 1600
/* 8 * 200 */

with documentation to explain the limitation. The one ray of hope I
found was a post from 2001(!) suggesting that the maximum number of
columns can be increased 4x by increasing one's block size to 32k (
http://archives.postgresql.org/pgsql-admin/2001-01/msg00199.php )

One thought I had was to join two 1600 column tables but ran into the
limit of 1664 tuples.

I'm currently using 8.1.10 -- are there any easy outs(via upgrade,
configuration, or hacking postgres a little) or should I start drawing
up a different application design?

Thanks,
Mike

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Tom Lane 2008-05-23 20:31:16 Re: 1600 column limit per table
Previous Message Scott Marlowe 2008-05-23 19:23:54 Re: Continuing issues... Can't vacuum!