スナップショット関数¶
この章ではパフォーマンス統計情報のスナップショットを管理・利用するためのSQL関数について解説します。
スナップショット関数一覧¶
関数名 | 内容 |
---|---|
pgperf.create_snapshot(level) | 新規のスナップショットを作成します。 |
pgperf.delete_snapshot(snapid) | 指定したスナップショットを削除します。 |
pgperf.purge_snapshots(interval) | 指定した期間以前のスナップショットを削除します。 |
pgperf.get_interval(snapid1, snapid2) | 指定した2つのスナップショットの間隔を秒数で取得します。 |
pgperf.create_snapshot()関数¶
概要¶
PostgreSQL内のパフォーマンス統計情報のスナップショットを取得します。
定義¶
integer pgperf.create_snapshot(integer level)
引数¶
引数名 | 引数型 | 内容 |
---|---|---|
level | integer | 取得するスナップショットレベル |
データベース内のパフォーマンス統計情報は、その種別によってはデータベースへの小さくない負荷が発生する場合があります。
pgperf.create_snapshot()
関数では、スナップショット取得レベルを指定することで、負荷の小さいパフォーマンス統計情報は頻繁に取得し、データベースへの負荷のかかるパフォーマンス統計情報は頻度を下げて取得することが可能です。
取得レベル | 取得する内容 |
---|---|
1 | 基本的なアクセス統計情報およびセッション情報のスナップショットを取得します。 pg_stat_database, pg_database_size() pg_stat_user_tables, pg_statio_user_tables pg_stat_user_indexes, pg_statio_user_indexes pg_relation_size(), pg_total_relation_size() pg_current_xlog_location(), pg_current_xlog_insert_location() pg_stat_bgwriter pg_stat_activity, pg_locks, pg_stat_statements |
2 | 上記に加え、オプティマイザ統計情報のスナップショットを取得します。 pg_statistic |
3 | 未使用 |
4 | 上記に加え、テーブル/インデックスのフラグメンテーション情報のスナップショットを取得します。 pgstattuple(), pgstatindex() |
5 | 未使用 |
pgperf.delete_snapshot()関数¶
概要¶
指定したパフォーマンス統計情報のスナップショットのデータを削除します。
定義¶
integer pgperf.delete_snapshot(integer snapid);
引数¶
引数名 | 引数型 | 内容 |
---|---|---|
snapid | integer | 削除するスナップショットのスナップショットID |