为PostgreSQL配置work_mem

目录

环境

文档用途

详细信息

环境

系统平台:N/A

版本:9.4,9.6,10.0

文档用途

  work_mem也许是Postgres中最令人困惑的参数。work_mem用于确定在某些操作期间可以使用多少内存。从表面上看,work_mem的设置似乎很简单,毕竟,work_mem只需指定将数据写入磁盘之前内部排序操作和哈希表可用的内存量。然而,如果不去配置work_mem可能会带来许多问题。但是,更令人不安的是,当您在数据库中收到内存不足的错误并跳出调整work_mem时,只是因为它以不太直观的方式进行了一次提示。

  本文旨在讲解work_mem参数的配置。

详细信息

设置默认内存

  work_mem在Postgres中的默认值为4MB,这可能有点低。这意味着每个Postgres活动(每个连接,某些排序等)在开始溢出到磁盘之前只可能会消耗4MB。当Postgres开始将临时文件写入磁盘时,显然这样会比内存慢得多。当启用后log_temp_files后,您可以通过在PostgreSQL日志中搜索temporary file来查看是否溢出到了磁盘。如果你看到了temporary file,它往往意味着你需要增加work_mem。

  首先需要清楚,我们很难获得work_mem比较完美的正确配置,但如果你正在尝试寻找一个适合所有场景的答案,通常设置为64MB。

它不仅仅是用于“查询”的内存管理

 详细的优化方案请登录【瀚高技术支持平台】查看

瀚高技术支持平台

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值