• PostgreSQL数据库限制


    PostgreSQL 数据库存在一些大小和数量的硬性限制。

    不过,这些限制通常足够大,因此实际情况往往是系统性能、磁盘空间首先出现问题。

    项目上限备注
    数据库大小无限制
    数据库数量4,294,950,911
    每个数据库中的关系数量1,431,650,303
    关系大小32 TBBLCKSZ 使用默认 8192 字节
    每个表中的行数取决于 4,294,967,295 个数据页存储的元组数量
    每个表中的列数1600进一步受到单个数据页大小的限制,参见下文
    单个结果集中列数1664
    字段大小1 GB
    标识符长度63 字节重新编译 PostgreSQL 可以调整大小
    每个表中的索引数量无限制受到每个数据库中的关系数量限制
    每个索引中的列数32重新编译 PostgreSQL 可以调整大小
    分区键32重新编译 PostgreSQL 可以调整大小

    备注:关系包括表、序列、视图、外部表、物化视图、复合类型以及索引。

    每个表中支持的最大列数还需要单个数据页(8192 字节)的限制,因为单个元组必须存储在同一个数据页中。例如,去掉元组头部之外,一个由 1600 个 int 字段组成的元组需要 6400 字节,可以存储在一个数据页中。但是一个由 1600 个 bigint 字段组成的元组需要 12800 字节,无法使用单个数据页存储。

    变长字段,例如 text、varchar、char,长度超过一定的阈值时可以使用 TOAST 技术存储在行外。此时数据页中只存储一个 18 字节的指针。对于阈值之内的变长字段,元组包含一个 4字节或者 1 字节的字段头部以及数据。

    另外,表中已经删除的字段,也会计算到字段限制中。而且,已删除的字段在插入数据时,在元组的空值位图中标记为 null,空值位图也需要占用空间。

  • 相关阅读:
    C++~类和对象总结(万字大总结,值得收藏)
    学习笔记-java代码审计-sqli
    抓住那头牛——BFS
    杰理之CMD 命令【篇】
    flink以增量+全量的方式更新广播状态
    SSM学生惩奖系统的设计与实现毕业设计-附源码201520
    【C++】set和map的底层结构(AVL树&红黑树)
    参数估计(一)(点估计)
    通过使用Amazon Neptune来预测电影类型初体验
    Lambda 架构 vs Kappa 架构
  • 原文地址:https://blog.csdn.net/horses/article/details/132402266