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

postgresql 常用参数配置

#01 - Connection-Authentication
优化点:

listen_addresses = '0.0.0.0'
建议:生产环境应限制为具体IP(如 '192.168.1.0/24,127.0.0.1'),避免暴露到公网。

ssl = off
建议:启用SSL(ssl = on),配置证书提升安全性。

superuser_reserved_connections = 10
建议:降低至 3,避免普通连接不足。

#02 - Memory-Resource
关键调整:

shared_buffers = 1GB
建议:设为物理内存的 25%-30%(若总内存≥8GB,可设为 4GB)。

work_mem = 5592kB
建议:根据并发调整(如 4MB),公式参考:work_mem = (总内存 - shared_buffers) / (max_connections * 2)。

effective_cache_size = 3GB
建议:设为物理内存的 50%-75%(若总内存≥8GB,建议 6GB)。

huge_pages = try
建议:若系统支持且内存>64GB,设为 on 提升性能。

#03 - WAL-Checkpoint-Archiving
优化点:

synchronous_commit = off
风险:可能丢失少量事务。若需高持久性,设为 on 或 remote_apply(集群场景)。

wal_buffers = 16MB
建议:通常设为 shared_buffers 的 1/32(若 shared_buffers=4GB,设为 128MB)。

archive_command
验证:确保 /postgresql/log/archive/ 路径存在且权限正确,建议添加错误重试逻辑(如 cp %p ... || exit 1)。

#04 - Replication
优化点:

max_wal_senders = 32
建议:根据实际从库数量调整,通常 主库数 + 2。

track_commit_timestamp = on
用途:若需逻辑复制(如CDC),保持开启;否则关闭以减少开销。

#05 - Reporting-Logging
关键调整:

log_min_duration_statement = 1000
建议:设为 100ms 以捕获更多慢查询。

log_statement = 'ddl'
建议:若需审计所有操作,设为 all;否则保持默认。

日志存储:确保 /postgresql/log/pg_log 路径有足够空间,建议日志定期清理或归档。

#06 - QueryTuning-Statistics-Autovacuum
优化点:

autovacuum_max_workers = 5
建议:若表多或写入频繁,可增至 6-8。

autovacuum_vacuum_scale_factor = 0.2
建议:添加此参数,替代默认的 0.2(更积极清理:autovacuum_vacuum_scale_factor = 0.05)。

maintenance_work_mem = 256MB
建议:设为 1GB 以加速VACUUM和索引创建。

#07 - Lock
优化点:

deadlock_timeout = 5s
建议:保持默认 1s,避免长锁等待。

#08 - Client Connection
无需调整:时区、本地化设置合理。

#09 - pg_stat_statements-auto_explain
优化点:

auto_explain.log_min_duration = 10s
建议:设为 1s 以捕获更多执行计划。

注意:auto_explain.log_analyze = true 会显著增加日志量,生产环境建议仅在调试时开启。

http://www.lryc.cn/news/2385428.html

相关文章:

  • Python模块中的私有命名与命名空间管理:深入解析与实践指南
  • 基于PCRLB的CMIMO雷达网络多目标跟踪资源调度
  • AtCoder Beginner Contest 407(ABCDE)
  • VILT模型阅读笔记
  • 掌握 npm 核心操作:从安装到管理依赖的完整指南
  • OpenCV CUDA模块特征检测与描述------一种基于快速特征点检测和旋转不变的二进制描述符类cv::cuda::ORB
  • Awesome ChatGPT Prompts:释放AI对话潜力的开源利器
  • Prompt Tuning:轻量级微调与反向传播揭秘
  • C++ 继承详解:基础篇(含代码示例)
  • PP-YOLOE-SOD学习笔记2
  • OpenLayers 加载测量控件
  • .NET ORM开发手册:基于SqlSugar的高效数据访问全攻略
  • 【PostgreSQL】数据探查工具1.0研发可行性方案
  • C++ 内存管理与单例模式剖析
  • 算法学习——从零实现循环神经网络
  • win10使用nginx做简单负载均衡测试
  • 2025电工杯数学建模B题思路数模AI提示词工程
  • 软考软件评测师——软件工程之开发模型与方法
  • 前端表单中 `readOnly` 和 `disabled` 属性的区别
  • 【日志软件】hoo wintail 的替代
  • OceanBase数据库全面指南(基础入门篇)
  • 异步处理与事件驱动中的模型调用链设计
  • redis配置带验证的主从复制
  • Ollama-OCR:基于Ollama多模态大模型的端到端文档解析和处理
  • OpenCV CUDA 模块中图像过滤------创建一个拉普拉斯(Laplacian)滤波器函数createLaplacianFilter()
  • 图论学习笔记 3
  • 在单片机中如何在断电前将数据保存至DataFlash?
  • 【将WPS设置为默认打开方式】--突然无法用WPS打开文件
  • 电子人的分水岭-FPGA模电和数电
  • (6)python爬虫--selenium