当前位置: 首页 > news >正文

【赵渝强老师】PostgreSQL的内存结构

1

PostgreSQL的内存结构分为两种不同的类型,它们分别是本地内存和共享内存。它们的关系如下图所示:

2

image.png
点击这里查看视频讲解:【赵渝强老师】PostgreSQL的内存结构

一、 本地内存

PostgreSQL的本地内存是指每个后台进程(backend process)自己使用的内存区域,下面列举了PostgreSQL中的本地内存以及它们的作用。

  • work_mem

使用work_mem区域用于对数据的排序,比如order by、distinct操作,也用于表的join操作,比如merge-join、hash-join操作。该区域的大小由参数work_mem控制,默认值是4MB。

  • maintenance_work_mem

该内存区域用于一些维护操作,比如vacuum、reindex、alter table add foreign key等操作。它由参数maintenance_work_mem控制大小,默认值是64MB。由于数据库会话一次只能执行其中的一个操作,并且PostgreSQL不会同时运行许多操作,因此可以将maintenance_work_mem的值设置为明显大于work_mem的值。

  • temp_buffers

该区域存放临时表的数据,由temp_buffer参数控制,默认值是8MB。该参数设置每个数据库会话使用的临时缓冲区的最大数量。PostgreSQL允许在单个会话中更改此参数的设置,但只能在会话中首次使用临时表之前进行更改。PostgreSQL利用这个内存区域来保存每个会话的临时表。当连接关闭时,该区域的数据将被自动清除。换句话说,临时表的数据将被清除。

二、 共享内存

PostgreSQL的共享内存是指每个后台进程(backend process)共同使用的内存区域,下面列举了PostgreSQL中的共享内存以及它们的作用。

  • shared_buffer

PostgreSQL将表和索引中的数据块从持久存储加载到共享缓冲池中,然后直接对它们进行操作,从而提高效率。该区域的大小由参数shared_buffers控制,默认值是128MB。

  • wal_buffer

存放WAL日志数据。该区域的大小由参数wal_buffers控制,默认值是4MB。

  • effective_cache_size

该区域用于存储数据库优化器的相关数据。当前的数据库服务器可以提供额外的缓存空间时,如:内存的缓存空间、文件系统的缓存空间、CPU的缓存空间等,使用参数effective_cache_size可以控制这些缓存空间的总和。

http://www.jsqmd.com/news/104446/

相关文章:

  • EmotiVoice能否用于法庭语音重建?中立情绪精准还原
  • AI点亮灯塔工厂,引领智能制造新范式
  • 2025年知识获取功能平台推荐:考试知识库导入、浏览器知识收 - myqiye
  • Python包管理告别龟速下载:uv工具国内镜像与离线安装实战
  • 2025年12月高压反应釜推荐品牌,选什么品牌能够助力企业选购适配需求的实验设备,附上选购建议 - 品牌推荐大师1
  • 【赵渝强老师】PostgreSQL的并行查询
  • 9、量子计算与区块链在金融服务领域的应用
  • 企业CI/CD选型指南:提效与安全如何兼得?CCI破解企业研发“不可能三角”
  • 最新昆明婚纱摄影星级排名新鲜出炉:三大优质机构深度测评+避坑指南 - charlieruizvin
  • EmotiVoice语音合成断点续传功能:大文件生成不中断
  • 展厅设计哪家靠谱?纪念馆展馆设计哪家好? - mypinpai
  • 我与C++的初遇:一段跨越时光的编程情缘
  • 太贵?爱创猫靠谱省钱
  • GB/T40032-2021《电动汽车换电安全要求》IPX9K防水测试
  • 如何提升零样本克隆的音质还原度?技巧分享
  • 高性价比之选:无线耳机选什么品牌?漫步者对比小米谁更具诚意?
  • Win11 查找并开启 IE 浏览器教程
  • 【赵渝强老师】PostgreSQL的控制文件
  • 使用windows记事本打开文件后,程序无法读取文件内容
  • 拿到Photoshop的源码了,发现两个意想不到的秘密......
  • 网络服务器防攻击设置通常不需要深入编程,但需要结合配置、工具和策略
  • 网络服务器防攻击设置通常不需要深入编程,但需要结合配置、工具和策略
  • SQL常用语法全解析:从入门到进阶的实战指南
  • 抱歉,C# 已经跌出第一梯队!
  • 基于SpringBoot的宠物医院管理系统(毕业设计项目源码+文档)
  • 基于Python的物业管理系统源码设计与文档
  • 抗衰老必选!NMN十大品牌评测,奥本元名列第一 - 资讯焦点
  • 基于SpringBoot的宠物医院管理系统的设计与实现(毕业设计项目源码+文档)
  • 从研究到落地:EmotiVoice推动学术成果商业化
  • 我的新能源车企,如何靠六西格玛培训跑赢质量与成本的终极竞赛?