pg_stat_statementsの統計をリセット(全体または単一のクエリ)
PostgreSQLパフォーマンスコマンド
-- Last reset time and number of entries evicted because the table was full (dealloc)
SELECT dealloc, stats_reset FROM pg_stat_statements_info;
-- Reset a single query only (userid, dbid, queryid; 0 = all)
SELECT pg_stat_statements_reset(0, 0, 5927525816675996975);
-- Reset all statistics
SELECT pg_stat_statements_reset();概要
pg_stat_statementsのカウンタを全体、またはユーザー/データベース/queryid単位でリセットする。pg_stat_statements_infoは最後のリセット時刻と、領域不足で追い出されたエントリ数を表示する。
使用する場面
チューニング変更(インデックス、パラメータ、デプロイ)の前にクリーンな測定を開始するため、または単一のクエリの新しい計画を個別に測定するため。
注意
リセットは元に戻せない。累積カウンタに依存する監視/APMツールにはギャップが表示されるため、先にスナップショットを取得する(計画劣化のレシピを参照)。deallocが増え続ける場合、pg_stat_statements.maxが小さすぎる(変更には再起動が必要)。デフォルトではスーパーユーザーのみが実行できる。GRANT EXECUTE ON FUNCTIONで権限を付与する。