Select 或 create 语句中的数据库列

Sat*_*rma 1 postgresql database-design

可能的重复:
PostgreSQL 选择查询中的最大列数是多少

我将开始一个需要大量表和列的新项目,使用 postgres 我只是想问一下,创建 postgres 表的列数是有限的,如果是,那么列数的 MAX 值是多少在 CREATE 和 SELECT 语句中?

Erw*_*ter 6

Postgres 12 开始,官方的限制列表可以在手册中找到:

项目上限评论
-------------------------------------------------- -------
数据库大小不限     
数据库数量 4,294,950,911     
每个数据库的关系 1,431,650,303     
关系大小 32 TB,默认 BLCKSZ 为 8192 字节
每个表的行数受数量限制
                        可以容纳 4,294,967,295 页的元组     
每张表的列数 1600 进一步受限于单个页面上的元组大小;请参阅下面的注释
字段大小 1 GB     
标识符长度63字节可以通过重新编译PostgreSQL增加
每个表的索引不受每个数据库最大关系的限制
每个索引 32 的列可以通过重新编译 PostgreSQL 来增加
重新编译 PostgreSQL 可以增加分区键 32

在此之前,PostgresL“关于”页面上有一个官方列表Postgres 9.5 的报价:

Limit                       Value
Maximum Database Size       Unlimited
Maximum Table Size          32 TB
Maximum Row Size            1.6 TB
Maximum Field Size          1 GB
Maximum Rows per Table      Unlimited
Maximum Columns per Table   250 - 1600 depending on column types
Maximum Indexes per Table   Unlimited
Run Code Online (Sandbox Code Playgroud)

如果您接近这些限制,那么您很可能做错了