適用対象: Azure Database for PostgreSQL - フレキシブル サーバー
この記事では、pg_stat_statements 拡張機能を使って、Azure Database for PostgreSQL フレキシブル サーバー上のクエリ統計コレクションを最適化する方法について説明します。
pg_stat_statements の使用
Pg_stat_statements は、Azure Database for PostgreSQL フレキシブル サーバーで有効にできる PostgreSQL 拡張機能です。 この拡張機能では、サーバーで実行されるすべての SQL ステートメントの実行統計を追跡する手段が提供されます。 このモジュールでは、すべてのクエリの実行がフックされるため、些細とは言えないパフォーマンス コストが発生します。 pg_stat_statements を有効にすると、ディスク上のファイルにクエリ テキストが強制的に書き込まれます。
Note
pg_stat_statements.track
は既定で NONE (無効) です。
サーバーによって実行されるすべての SQL ステートメントの実行統計の追跡を始める場合は、pg_stat_statements を有効にします。 そのためには、最上位レベルのクエリや入れ子になったクエリ (関数またはプロシージャ内で実行されるもの) を追跡するかどうかに応じて、値を TOP
または ALL
に設定します。
pg_stat_statements.track = TOP
を設定するには
- Azure portal で、Azure Database for PostgreSQL フレキシブル サーバー リソース管理ページに移動し、サーバー パラメーター ブレードを選択します。
- Azure CLI を使用して、az postgres server configuration set to
--name pg_stat_statements.track --resource-group myresourcegroup --server mydemoserver --value TOP
を実行します。
クエリ ストアの使用
Azure Database for PostgreSQL - フレキシブル サーバーでクエリ ストア機能を使用すると、クエリ実行統計を監視する別の方法が提供されます。 パフォーマンスのオーバーヘッドを防ぐために、pg_stat_statements 拡張機能またはクエリ データ ストアのいずれかのメカニズムのみを使用することをお勧めします。