PostgreSQL数据库限制

news/2024/7/9 20:59:31 标签: 数据库, 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,空值位图也需要占用空间。


http://www.niftyadmin.cn/n/5046518.html

相关文章

(第三百篇BLOG记录)写于博士毕业与入职之初-20230924

启 由于若干原因(包括但不限于紧锣密鼓的完成博士毕业的一系列实验和论文撰写、学习各种百花齐放的有意思的领域、完成人生身份的重大转变),导致卡在299篇博客已经很久了,不过算了一下还是在一个较长时间维度上可以基本保持每周一…

springboot对接rabbitmq并且实现动态创建队列和消费

背景 1、对接多个节点上的MQ(如master-MQ,slave-MQ),若读者需要自己模拟出两个MQ,可以部署多个VM然后参考 docker 安装rabbitmq_Steven-Russell的博客-CSDN博客 2、队列名称不是固定的,需要接受外部参数&…

【车载开发系列】Autosar框架中的WatchDog

【车载开发系列】Autosar框架中的WatchDog Autosar框架中的WatchDog 【车载开发系列】Autosar框架中的WatchDog一. 什么是Watchdog?二. WatchDog原理三. WatchDog功能1)硬件支持看门狗2)软件支持的看门狗 四. WatchDog检测目标五. AutoSar当中…

[python刷题模板] 矩阵快速幂(手写/numpy)

[python刷题模板] 矩阵快速幂 (手写/numpy 一、 算法&数据结构1. 描述2. 复杂度分析3. 常见应用4. 常用优化 利用numpy库省去手写矩阵乘法的过程.二、 模板代码1. 斐波那契数列(错位写矩阵,手写矩阵乘法)2. 1137. 第 N 个泰波那契数(错位写矩阵,手写…

Lnmp架构之mysql数据库实战2

4、mysql组复制集群 一主多从的请求通常是读的请求高于写 ,但是如果写的请求很高,要求每个节点都可以进行读写,这时分布式必须通过(多组模式)集群的方式进行横向扩容。 组复制对节点的数据一致性要求非常高&#xff…

测试C#图像文本识别模块Tesseract的基本用法

微信公众号“dotNET跨平台”的文章《c#实现图片文体提取》(参考文献3)介绍了C#图像文本识别模块Tesseract,后者是tesseract-ocr(参考文献2) 的C#封装版本,目前版本为5.2,关于Tesseract的详细介绍…

如何在不失去理智的情况下调试 TensorFlow 训练程序

一、说明 关于tensorflow的调试,是一个难啃的骨头,除了要有耐力,还需要方法;本文假设您是一个很有耐力的开发者,为您提供一些方法;这些方法也许不容易驾驭,但是依然强调您只要有耐力&#xff0c…

[nodejs]NVM使用指南

安装 官网链接 使用 # 版本号 nvm version# 显示node是运行在32位还是64位。 nvm arch# 显示已安装的列表 nvm list nvm ls# 使用制定版本node。可指定32/64位 nvm use [version] [arch]# 显示可安装的所有版本 nvm list available# 安装最新版本 nvm install latest# 安装指…