(文档)第119讲:参数调优利器—pgtune 使用技巧


目标
• pgtune概述
• pgtune安装
• pgtune应用案例
pgtune概述
Pgtune是一款强大的PostgreSQL配置向导工具,它能将默认的postgresql.conf配置文件优化为匹配服务器硬件性能的最佳设置。无论你是数据库管理员还是开发人员,使用Pgtune都能轻松提升PostgreSQL数据库的运行效率。
PostgreSQL默认配置是为了兼容性而设计的”保守设置”,无法充分发挥服务器硬件性能。Pgtune通过分析你的服务器内存大小和工作负载类型,自动生成优化后的配置参数,让数据库性能提升30%以上!
pgtune工作原理
Pgtune通过以下步骤优化PostgreSQL配置:
• 分析现有postgresql.conf文件
• 根据系统内存和指定工作负载计算最佳参数
• 生成新的配置文件,保留原始注释和未修改参数
核心优化的参数包括:
• 共享内存设置
• 连接池大小
• 缓存配置
• 并行查询设置
• WAL(预写日志)优化
pgtune安装
1、下载
git clone https://gitcode.com/gh_mirrors/pgt/pgtune
2、源码安装(适用于所有系统)
Pgtune是纯Python脚本,无需编译,只需将项目克隆到本地即可。
3、修改python脚本pgtune
由于默认的脚本是按照pyton2.X版本语法书写,如果运行环境是python3.X版本的,需要修改语法,比如print命令,3.X版本的需要把print xxx修改为print (xxx)。
(安装时注意pg_config命令,系统有自带改命令,需要通过设置PATH变量,让系统使用pg自带的pg_config命令)
pgtune语法介绍
Pgtune语法如下所示:
-i or –input-config : 指定当前postgresql.conf文件.
-o or –output-config : 指定输入的新的postgresql.conf文件.
-M or –memory: 使用此参数指定总系统内存。如果未指定,pgtune将尝试检测内存大小.
-T or –type : 指定数据库类型. 可选的类型为: DW, OLTP, Web, Mixed, Desktop.
-P or –platform : 指定平台,默认为运行程序的平台。有效选项包括:Windows, Linux, and Darwin (Mac OS X).
-c or –connections: 指定预期的最大连接数。如果未指定,则取决于数据库类型.
-S or –settings: 设置数据文件所在的目录。默认为运行脚本的目录。RPM软件包包含一个补丁,用于使用这些文件安装到的正确位置.
通过命令行参数可以精确控制优化方向:

支持不同数据库类型参数调整:
DW:数据仓库(分析型 workload)
OLTP:联机事务处理(写入密集型)
Web:Web应用(读写均衡)
Mixed:混合工作负载
Desktop:桌面应用(轻量级)
pgtune使用技巧
• 对PostgreSQL参数配置进行优化
• 根据原来配置文件生成新的配置文件:
• ./pgtune -i $PGDATA/postgresql.conf -o $PGDATA/postgresql.conf.pgtune
• 为16GB内存的Linux服务器优化OLTP类型数据库:
• ./pgtune -i postgresql.conf -o postgresql.conf.optimized \
• -M 16GB -T OLTP -P Linux -c 150
pgtune优化后的结果
# pgtune for version 8.4 run on 2026-03-06
# Based on 12136664.0 KB RAM, platform Linux, 100 clients and mixed workload
shared_buffers = 2816.0MB
effective_cache_size = 8.0GB
work_mem = 56.0MB
maintenance_work_mem = 704.0MB
checkpoint_segments = 32
checkpoint_completion_target = 0.9
wal_buffers = 16.0MB
default_statistics_target = 100

PostgreSQL从入门到精通,
系列课程始于23年初,
在周六19:30与大家分享PG技术,
从基础的PG介绍与安装,
到后续的调优、流复制等企业应用,
涉及90多个知识点的介绍与演示,
截至25年8月9日,
系列课程已讲100期,
欢迎继续关注PostgreSQL技术大讲堂,
如果你也有意学习PostgreSQL,
可以联系客服,领取相关资料。

·2025年11月份工信部人才交流中心PostgreSQL能力认证证书
·工信部人才交流中心PostgreSQL能力认证证书【10月25日】
· 6月6日证书 – 工信部人才交流中心PostgreSQL中级高级认证
· 关于举办PostgreSQL数据库管理人才研修与评测班(二期)的通知
· 榜上有名!2024年工业和信息化重点领域人才能力评价支撑机构
·关于举办PostgreSQL数据库管理人才研修与评测班的通知
夜雨聆风
