PostgreSQL中Checkpoint和VACUUM的性能调优方法

摘要:在写入频繁复杂的系统上,Checkpoint性能调优对于获得良好性能至关重要。然而,检查点是我们经常在社区邮件列表和客户性能调整评估期间容易概念混淆和配置错误的技术点之一。 基于邮件列表和所支持客户得到的结论,PostgreSQL常见的第二个性能问题是autovacuum。因此,我们跟进关于autovacuum调校的帖子。这里将简要地解释一下必要的理论,包括死元组,膨胀以及autovacuum如何处理它,但这篇博文的主要焦点是有关autovacuum调校的配置选项,经验法则等。

在postgresql.conf中增加自定义配置项

PostgreSQL提供了postgresql.conf这个配置文件,通过它可以配置PostgreSQL启动、运行、性能优化、主备等各项参数,是PostgreSQL的核心配置文件。笔记简单分析了PostgreSQL是如何创建、应用、变更postgresql.conf的各种配置项,以及如何增加自定义的配置项。 先从PostgreSQL的启动开始说起。老生常谈,PostgreSQL在启动时,首先会启动一个Postmaster主进程,Postmaster主进程的入口函数PostmasterMain在初始化内存环境之后便进入处理数据库各项参数的GUC模块。

搭建PostgreSQL源码调试环境

本文使用Xming、Putty和VMWare几款工具,在Windows桌面环境调用Ubuntu虚拟机上的图形界面进行PostgreSQL源码的调试。文中的所有步骤适合真机Ubuntu系统,只是所有图形界面的调用是在Windows桌面环境下。这样做,和直接在Ubuntu虚拟机中进行调试,并没有什么区别,只是我个人比较喜欢Windows下的一些工具的界面,如VISIO2013,Office2013,比起Libreoffice还是要方便美观很多。如果是linux用户,可以跳过配置xshell部分即可。