Re: Bug:Create a table with 1600 fields (reaching the upper limit), then drop several fields and create new ones, but the addition failed.

From: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
To: BO ST <1599224321(at)qq(dot)com>
Cc: pgsql-bugs <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: Re: Bug:Create a table with 1600 fields (reaching the upper limit), then drop several fields and create new ones, but the addition failed.
Date: 2023-05-04 16:12:31
Message-ID: CAKFQuwafVB0Bt0U2QUVHP-pkX-gggBm9bXkmCzfpWz7Z+f6YNQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Thu, May 4, 2023 at 9:09 AM BO ST <1599224321(at)qq(dot)com> wrote:

> *Create a table with 1600 fields (reaching the upper limit), then drop
> several fields and create new ones, but the addition failed.*
>
> test=# alter table t1 add column co1599 int;
> ALTER TABLE
> test=# alter table t1 add column co1600 int;
> ALTER TABLE
> test=# alter table t1 add column co1601 int;
> psql: ERROR: table can have at most 1600 columns
>
> *then, I drop column co1600 and add it again, failed:*
>
> test=# alter table t1 drop column co1600;
> ALTER TABLE
> test=# alter table t1 add column co1600 int;
> psql: ERROR: table can have at most 1600 columns
>
> *then, I drop column co1600 again:*
>
> test=# alter table t1 drop column co1600;
> psql: ERROR: column "co1600" of relation "t1" dose not exist
>

Implementation details - not all columns that are present on a table are
user-visible. In particular, dropped columns remain but are inaccessible
in order to avoid rewriting the table.

David J.

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Stan S 2023-05-04 16:24:03 Re: BUG #17914: walsenders taking up all memory
Previous Message Tom Lane 2023-05-04 15:53:48 Re: BUG #17920: Incorrect memory access in array_position(s) is detected (or not)