Azure Database for PostgreSQL - Single Server のクエリ統計コレクションを最適化する

適用対象: 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 は、Azure Database for PostgreSQL で有効にできる 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_stat_statements を使用する代わりに、この機能を使用することをお勧めします。

次のステップ

Azure Portal または Azure CLI を使用して、pg_stat_statements.track = NONE を設定することを検討します。

詳細については、次を参照してください。