postgresql15 postgresql.cof-shared_buffers

张开发
2026/4/13 7:54:52 15 分钟阅读

分享文章

postgresql15 postgresql.cof-shared_buffers
shared_buffers用于设置postgresql用于缓存表和索引数据页的内存大小,即postgresql的共享内存池。它是数据库访问磁盘数据前的第一层缓存。单位可以是kB、MB或GB。工作机制:1.当查询需要访问某个数据页时,postgresql会先在shared_buffers中查找。2.如果数据页不在缓存中,就从磁盘读取并放入shared_buffers。3.更新操作也会先在shared_buffers中修改,延迟写入磁盘(由后台写进程bgwriter和检查点checkpoint处理)。即:Client查询 - shared_buffers(缓存) → 如果未命中 → 磁盘shared_buffers的最佳值取决于系统总内存:系统内存大小推荐shared_buffers1-4GB25%~40%8-16GB25%~40%32GB+8-16GB或25%备注:postgresql会将shared_buffers的一部分用于内部管理(页目录、锁等),不宜设置过大。对Linux系统,一般shared_buffers + work_mem + 其他进程内存=总内存的一半到三分之二。调优建议:1.对OLTP系统:可适度增大,减少磁盘 I/O。2.对OLAP系统(大查询、大表):适

更多文章