在 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 门户中,转到 PostgreSQL 资源管理页面并选择服务器参数边栏选项卡。
使用 Azure CLI az postgres server configuration set
--name pg_stat_statements.track --resource-group myresourcegroup --server mydemoserver --value NONE
。
使用查询存储
Azure Database for PostgreSQL 中的查询存储功能提供了用于跟踪查询统计信息的更高效的方法。 建议使用此功能作为使用 pg_stats_statements 的替代方法。
后续步骤
请考虑在 Azure 门户中或通过 Azure CLI 来设置 pg_stat_statements.track = NONE
。
有关详细信息,请参阅: