在 Azure Database for PostgreSQL - 单一服务器上优化查询统计信息集合

适用于:Azure Database for PostgreSQL 单一服务器

重要

Azure Database for PostgreSQL - 单一服务器即将停用。 强烈建议升级到 Azure Database for PostgreSQL 灵活服务器。 有关迁移到 Azure Database for PostgreSQL 灵活服务器的详细信息,请参阅 Azure Database for PostgreSQL 单一服务器会发生什么情况?

本文介绍如何在 Azure Database for PostgreSQL 服务器上优化查询统计信息集合。

使用 pg_stat_statements

Pg_stat_statements 是一个 PostgreSQL 扩展,可以在 Azure Database for PostgreSQL 中启用。 该扩展提供了一种方法来跟踪服务器执行的所有 SQL 语句的执行统计信息。 此模块会挂接到每个查询执行,并且性能成本较高。 启用 pg_stat_statements 会强制将查询文本写入到磁盘上的文件。

如果拥有含长查询文本的唯一查询,或者未主动监视 pg_stat_statements,请禁用 pg_stat_statements,以提供最佳性能 。 为此,请将设置更改为 pg_stat_statements.track = NONE

禁用 pg_stat_statements 时,部分工作负荷的性能可实现高达 50% 的提升 。 禁用 pg_stat_statements 的代价是无法对性能问题进行故障排除。

若要设置 pg_stat_statements.track = NONE,请执行以下操作:

使用查询存储

Azure Database for PostgreSQL 中的查询存储功能提供了用于跟踪查询统计信息的更高效的方法。 建议使用此功能作为使用 pg_stats_statements 的替代方法。

后续步骤

请考虑在 Azure 门户中或通过 Azure CLI 来设置 pg_stat_statements.track = NONE

有关详细信息,请参阅: