On Fri, Nov 3, 2023 at 5:09 PM Daniel Westermann (DWE) <daniel.westerm...@dbi-services.com> wrote: > > Hi, > > from the limits page in the docs: > https://www.postgresql.org/docs/current/limits.html > > "...but a tuple of 1600 bigint columns would consume 12800 bytes and would > therefore not fit inside a heap page". > > Creating a table with 1600 bigint columns does work with a 8k blocksize: > > $ cat gen_tab.sh > #!/bin/bash > AMOUNT_OF_COLS=$1 > DATA_TYPE=$2 > STATEMENT="create table t ( " > for (( i=1 ; i<${AMOUNT_OF_COLS} ; i++ )); > do > STATEMENT+=" col${i} ${DATA_TYPE}," > done > STATEMENT+="col${AMOUNT_OF_COLS} ${DATA_TYPE} );" > echo ${STATEMENT} > > .$ /gen_tab.sh 1600 bigint > a.sql > > $ psql -f a.sql > CREATE TABLE > > $ psql -c "\d t" > ... > col1598 | bigint | | | > col1599 | bigint | | | > col1600 | bigint | | | > > Am I missing something?
It will fail when you try to insert data in it. //Magnus