Re: Is MaxHeapAttributeNumber a reasonable restriction for foreign-tables? - Mailing list pgsql-hackers

From Amit Langote
Subject Re: Is MaxHeapAttributeNumber a reasonable restriction for foreign-tables?
Date
Msg-id CA+HiwqE_JDJC-PtXZEhDeC=G7MEYPES0oa=otiWFXsXhTfirTQ@mail.gmail.com
Whole thread Raw
In response to Re: Is MaxHeapAttributeNumber a reasonable restriction for foreign-tables?  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On Thu, Feb 4, 2021 at 11:45 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Amit Langote <amitlangote09@gmail.com> writes:
> > On Thu, Feb 4, 2021 at 4:24 PM Kohei KaiGai <kaigai@heterodb.com> wrote:
> >> I think that MaxHeapAttributeNumber is a senseless restriction for foreign-
> >> tables. How about your opinions?
>
> > My first reaction to this was a suspicion that the
> > MaxHeapAttributeNumber limit would be too ingrained in PostgreSQL's
> > architecture to consider this matter lightly, but actually browsing
> > the code, that may not really be the case.
>
> You neglected to search for MaxTupleAttributeNumber...

Ah, I did.  Although, even its usage seems mostly limited to modules
under src/backend/access/heap.

> I'm quite skeptical of trying to raise this limit significantly.
>
> In the first place, you'd have to worry about the 2^15 limit on
> int16 AttrNumbers --- and keep in mind that that has to be enough
> for reasonable-size joins, not only an individual table.  If you
> join a dozen or so max-width tables, you're already most of the way
> to that limit.
>
> In the second place, as noted by the comment you quoted, there are
> algorithms in various places that are O(N^2) (or maybe even worse?)
> in the number of columns they're dealing with.

Those are certainly intimidating considerations.

-- 
Amit Langote
EDB: http://www.enterprisedb.com



pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: Removing support for COPY FROM STDIN in protocol version 2
Next
From: Kohei KaiGai
Date:
Subject: Re: Is MaxHeapAttributeNumber a reasonable restriction for foreign-tables?