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 Portal で、[PostgreSQL リソースの管理] ページに移動し、[サーバー パラメーター] ブレードを選択します。
Azure CLI を使用して、az postgres server configuration set to
--name pg_stat_statements.track --resource-group myresourcegroup --server mydemoserver --value NONE
を実行します。
クエリ ストアの使用
Azure Database for PostgreSQL のクエリ ストア機能では、クエリ統計を追跡するより効果的な方法が提供されます。 pg_stat_statements を使用する代わりに、この機能を使用することをお勧めします。
次のステップ
Azure Portal または Azure CLI を使用して、pg_stat_statements.track = NONE
を設定することを検討します。
詳細については、次を参照してください。