blob: 3111923b45f14b53613df337af9ff3af4da8b76e [file] [log] [blame]
スナップショットテーブル
========================
この章ではパフォーマンス統計情報のスナップショットを保存するテーブルについて解説します。
スナップショットテーブル一覧
----------------------------
パフォーマンス統計情報のスナップショットは、PostgreSQL内部の各種統計情報と対応する以下のテーブルに保存されます。
.. csv-table::
:header-rows: 1
テーブル名, 概要, 備考
pgperf.snapshot, 取得したスナップショットのIDと取得時間を保存します
pgperf.snapshot_pg_stat_database, pg_stat_databaseシステムビューのスナップショットを保存します
pgperf.snapshot_pg_database_size, データベースのサイズを保存します
pgperf.snapshot_pg_stat_user_tables, pg_stat_user_tablesシステムビューのスナップショットを保存します
pgperf.snapshot_pg_statio_user_tables, pg_statio_user_tablesシステムビューのスナップショットを保存します
pgperf.snapshot_pg_stat_user_indexes, pg_stat_user_indexesシステムビューのスナップショットを保存します
pgperf.snapshot_pg_statio_user_indexes, pg_statio_user_indexesシステムビューのスナップショットを保存します
pgperf.snapshot_pg_statio_user_sequences, pg_statio_user_sequencesシステムビューのスナップショットを保存します
pgperf.snapshot_pg_stat_user_functions, pg_stat_user_functionsシステムビューのスナップショットを保存します
pgperf.snapshot_pg_relation_size, テーブルおよびインデックスのサイズを保存します
pgperf.snapshot_pg_current_xlog, トランザクションログの挿入位置/書き込み位置を保存します
pgperf.snapshot_pg_stat_bgwriter, pg_stat_bgwriterシステムビューのスナップショットを保存します
pgperf.snapshot_pg_stat_activity, pg_stat_activityシステムビューのスナップショットを保存します
pgperf.snapshot_pg_locks, pg_locksシステムビューのスナップショットを保存します
pgperf.snapshot_pg_statistic, pg_statisticsシステムテーブルのスナップショットを保存します
pgperf.snapshot_pg_stat_statements, pg_stat_statementsビューのスナップショットを保存します, 8.4以降のみ
pgperf.snapshot_pgstattuple, pgstattuple関数の実行結果のスナップショットを保存します
pgperf.snapshot_pgstatindex, pgstatindex関数の実行結果をスナップショットを保存します
pgperf.snapshotテーブル
-----------------------
スナップショット関数で取得したスナップショットのスナップショットIDおよび取得時間を保持するテーブルです。
===================== ================ ======================== ============
カラム名 データ型 取得元 備考
===================== ================ ======================== ============
sid integer スナップショットID 単調増加
ts timestamp スナップショット取得時刻
level integer スナップショットレベル
===================== ================ ======================== ============
pgperf.snapshot_pg_stat_databaseテーブル
----------------------------------------
アクセス統計情報を取得する ``pg_stat_database`` システムビューのスナップショットを保存するテーブルです。
===================== ================ ====================================== ===========
カラム名 データ型 取得元 備考
===================== ================ ====================================== ===========
sid integer スナップショットID
datid oid pg_stat_database.datid
datname name pg_stat_database.datname
numbackends integer pg_stat_database.numbackends
xact_commit bigint pg_stat_database.xact_commit
xact_rollback bigint pg_stat_database.xact_rollback
blks_read bigint pg_stat_database.blks_read
blks_hit bigint pg_stat_database.blks_hit
tup_returned bigint pg_stat_database.tup_returned
tup_fetched bigint pg_stat_database.tup_fetched
tup_inserted bigint pg_stat_database.tup_inserted
tup_updated bigint pg_stat_database.tup_updated
tup_deleted bigint pg_stat_database.tup_deleted
conflicts bigint pg_stat_database.conflicts 9.1以降のみ
stats_reset timestampz pg_stat_database.stats_reset 9.1以降のみ
===================== ================ ====================================== ===========
pgperf.snapshot_pg_database_sizeテーブル
----------------------------------------
データベースのサイズを取得する ``pg_database_size()`` 関数のスナップショットを保存するテーブルです。
===================== ================ ====================================== ===========
カラム名 データ型 取得元 備考
===================== ================ ====================================== ===========
sid integer スナップショットID
datname name pg_database.datname
pg_database_size bigint pg_database_size()
===================== ================ ====================================== ===========
pgperf.snapshot_pg_stat_user_tablesテーブル
-------------------------------------------
アクセス統計情報を取得する ``pg_stat_user_tables`` システムビューのスナップショットを保存するテーブルです。
===================== ================ ====================================== ===========
カラム名 データ型 取得元 備考
===================== ================ ====================================== ===========
sid integer スナップショットID
relid oid pg_stat_user_tables.relid
schemaname name pg_stat_user_tables.schemaname
relname name pg_stat_user_tables.relname
seq_scan bigint pg_stat_user_tables.seq_scan
seq_tup_read bigint pg_stat_user_tables.seq_tup_read
idx_scan bigint pg_stat_user_tables.idx_scan
idx_tup_fetch bigint pg_stat_user_tables.idx_tup_fetch
n_tup_ins bigint pg_stat_user_tables.n_tup_ins
n_tup_upd bigint pg_stat_user_tables.n_tup_upd
n_tup_del bigint pg_stat_user_tables.n_tup_del
n_tup_hot_upd bigint pg_stat_user_tables.n_tup_hot_upd
n_live_tup bigint pg_stat_user_tables.n_live_tup
n_dead_tup bigint pg_stat_user_tables.n_dead_tup
last_vacuum timestampz pg_stat_user_tables.last_vacuum
last_autovacuum timestampz pg_stat_user_tables.last_autovacuum
last_analyze timestampz pg_stat_user_tables.last_analyze
last_autoanalyze timestampz pg_stat_user_tables.last_autoanalyze
vacuum_count bigint pg_stat_user_tables.vacuum_count 9.1以降のみ
autovacuum_count bigint pg_stat_user_tables.autovacuum_count 9.1以降のみ
analyze_count bigint pg_stat_user_tables.analyze_count 9.1以降のみ
autoanalyze_count bigint pg_stat_user_tables.autoanalyze_count 9.1以降のみ
===================== ================ ====================================== ===========
pgperf.snapshot_pg_statio_user_tablesテーブル
---------------------------------------------
アクセス統計情報を取得する ``pg_statio_user_tables`` システムビューのスナップショットを保存するテーブルです。
===================== ================ ====================================== ===========
カラム名 データ型 取得元 備考
===================== ================ ====================================== ===========
sid integer スナップショットID
relid oid pg_statio_user_tables.relid
schemaname name pg_statio_user_tables.schemaname
relname name pg_statio_user_tables.relname
heap_blks_read bigint pg_statio_user_tables.heap_blks_read
heap_blks_hit bigint pg_statio_user_tables.heap_blks_hit
idx_blks_read bigint pg_statio_user_tables.idx_blks_read
idx_blks_hit bigint pg_statio_user_tables.idx_blks_hit
toast_blks_read bigint pg_statio_user_tables.toast_blks_read
toast_blks_hit bigint pg_statio_user_tables.toast_blks_hit
tidx_blks_read bigint pg_statio_user_tables.tidx_blks_read
tidx_blks_hit bigint pg_statio_user_tables.tidx_blks_hit
===================== ================ ====================================== ===========
pgperf.snapshot_pg_stat_user_indexesテーブル
--------------------------------------------
アクセス統計情報を取得する ``pg_stat_user_indexes`` システムビューのスナップショットを保存するテーブルです。
===================== ================ ====================================== ===========
カラム名 データ型 取得元 備考
===================== ================ ====================================== ===========
sid integer スナップショットID
relid oid pg_stat_user_indexes.relid
indexrelid oid pg_stat_user_indexes.indexrelid
schemaname name pg_stat_user_indexes.schemaname
relname name pg_stat_user_indexes.relname
indexrelname name pg_stat_user_indexes.indexrelname
idx_scan bigint pg_stat_user_indexes.idx_scan
idx_tup_read bigint pg_stat_user_indexes.idx_tup_read
idx_tup_fetch bigint pg_stat_user_indexes.idx_tup_fetch
===================== ================ ====================================== ===========
pgperf.snapshot_pg_statio_user_indexesテーブル
----------------------------------------------
アクセス統計情報を取得する ``pg_statio_user_indexes`` システムビューのスナップショットを保存するテーブルです。
===================== ================ ====================================== ===========
カラム名 データ型 取得元 備考
===================== ================ ====================================== ===========
sid integer スナップショットID
relid oid pg_statio_user_indexes.relid
indexrelid oid pg_statio_user_indexes.indexrelid
schemaname name pg_statio_user_indexes.schemaname
relname name pg_statio_user_indexes.relname
indexrelname name pg_statio_user_indexes.indexrelname
idx_blks_read bigint pg_statio_user_indexes.idx_blks_read
idx_blks_hit bigint pg_statio_user_indexes.idx_blks_hit
===================== ================ ====================================== ===========
pgperf.snapshot_pg_statio_user_sequencesテーブル
------------------------------------------------
アクセス統計情報を取得する ``pg_statio_user_sequences`` システムビューのスナップショットを保存するテーブルです。
===================== ================ ====================================== ===========
カラム名 データ型 取得元 備考
===================== ================ ====================================== ===========
sid integer スナップショットID
relid oid pg_statio_user_sequences.relid
schemaname name pg_statio_user_sequences.schemaname
relname name pg_statio_user_sequences.relname
blks_read int8 pg_statio_user_sequences.blks_read
blks_hit int8 pg_statio_user_sequences.blks_hit
===================== ================ ====================================== ===========
pgperf.snapshot_pg_stat_user_functionsテーブル
----------------------------------------------
アクセス統計情報を取得する ``pg_stat_user_functions`` システムビューのスナップショットを保存するテーブルです。
===================== ================ ====================================== ===========
カラム名 データ型 取得元 備考
===================== ================ ====================================== ===========
sid integer スナップショットID
funcid oid pg_stat_user_functions.funcid
schemaname name pg_stat_user_functions.schemaname
funcname name pg_stat_user_functions.funcname
calls int8 pg_stat_user_functions.calls
total_time int8 pg_stat_user_functions.total_time
self_time int8 pg_stat_user_functions.self_time
===================== ================ ====================================== ===========
pgperf.snapshot_pg_relation_sizeテーブル
----------------------------------------
テーブルおよびインデックスのサイズを取得する ``pg_relation_size()``, ``pg_total_relation_size()`` 関数のスナップショットを保存するテーブルです。
====================== ================ ====================================== =============================
カラム名 データ型 取得元 備考
====================== ================ ====================================== =============================
sid integer スナップショットID
schemaname name pg_stat_user_tables.schemaname,
pg_stat_user_indexes.schemaname
relid oid pg_stat_user_tables.relid,
pg_stat_user_indexes.indexrelid
relname name pg_class.relname
pg_relation_size bigint pg_relaion_size()
pg_total_relation_size bigint pg_total_relaion_size() 対象がテーブルの場合のみ有効
====================== ================ ====================================== =============================
pgperf.snapshot_pg_current_xlogテーブル
---------------------------------------
トランザクションログの位置を取得する ``pg_current_xlog_location()``, ``pg_current_xlog_insert_location()`` 関数のスナップショットを保存するテーブルです。
===================== ================ ====================================== ===========
カラム名 データ型 取得元 備考
===================== ================ ====================================== ===========
sid integer スナップショットID
location text pg_current_xlog_location()
insert_location text pg_current_xlog_insert_location()
===================== ================ ====================================== ===========
pgperf.snapshot_pg_stat_bgwriterテーブル
----------------------------------------
バックグラウンドライタ統計情報を取得する ``pg_stat_bgwriter`` システムビューのスナップショットを保存するテーブルです。
===================== ================ ====================================== ===========
カラム名 データ型 取得元 備考
===================== ================ ====================================== ===========
sid integer スナップショットID
checkpoints_timed bigint pg_stat_bgwriter.checkpoints_timed
checkpoints_req bigint pg_stat_bgwriter.checkpoints_req
checkpoint_write_time double precision pg_stat_bgwriter.checkpoint_write_time 9.2以降のみ
checkpoint_sync_time double precision pg_stat_bgwriter.checkpoint_sync_time 9.2以降のみ
buffers_checkpoint bigint pg_stat_bgwriter.buffers_checkpoint
buffers_clean bigint pg_stat_bgwriter.buffers_clean
maxwritten_clean bigint pg_stat_bgwriter.maxwritten_clean
buffers_backend bigint pg_stat_bgwriter.buffers_backend
buffers_backend_fsync bigint pg_stat_bgwriter.buffers_backend_fsync 9.1以降のみ
buffers_alloc bigint pg_stat_bgwriter.buffers_alloc
stats_reset timestampz pg_stat_bgwriter.stats_reset 9.1以降のみ
===================== ================ ====================================== ===========
pgperf.snapshot_pg_stat_activityテーブル
----------------------------------------
セッション情報を取得する ``pg_stat_activity`` システムビューのスナップショットを保存するテーブルです。
===================== ================ ====================================== ===========
カラム名 データ型 取得元 備考
===================== ================ ====================================== ===========
sid integer スナップショットID
datid oid pg_stat_activity.datid
datname name pg_stat_activity.datname
procpid int4 pg_stat_activity.procpid 9.1以前
pid int4 pg_stat_activity.pid 9.2以降
usesysid oid pg_stat_activity.usesysid
usename name pg_stat_activity.usename
application_name text pg_stat_activity.application_name 9.0以降
client_addr inet pg_stat_activity.client_addr
client_hostname text pg_stat_activity.client_hostname 9.1以降
client_port int4 pg_stat_activity.client_port
backend_start timestamptz pg_stat_activity.backend_start
xact_start timestamptz pg_stat_activity.xact_start
query_start timestamptz pg_stat_activity.query_start
state_change timestamptz pg_stat_activity.state_change 9.2以降
waiting bool pg_stat_activity.waiting
state text pg_stat_activity.state 9.2以降
current_query text pg_stat_activity.current_query 9.1以前
query text pg_stat_activity.query 9.2以降
===================== ================ ====================================== ===========
pgperf.snapshot_pg_locksテーブル
--------------------------------
ロック情報を取得する ``pg_locks`` システムビューのスナップショットを保存するテーブルです。
===================== ================ ====================================== ===========
カラム名 データ型 取得元 備考
===================== ================ ====================================== ===========
sid integer スナップショットID
locktype text pg_locks.locktype
database oid pg_locks.database
relation oid pg_locks.relation
page int4 pg_locks.page
tuple int2 pg_locks.tuple
virtualxid text pg_locks.virtualxid
transactionid xid pg_locks.transactionid
classid oid pg_locks.classid
objid oid pg_locks.objid
objsubid int2 pg_locks.objsubid
virtualtransaction text pg_locks.virtualtransaction
pid int4 pg_locks.pid
mode text pg_locks.mode
granted bool pg_locks.granted
fastpath bool pg_locks.fastpath 9.2以降
===================== ================ ====================================== ===========
pgperf.snapshot_pg_statisticテーブル
------------------------------------
オプティマイザ統計情報を保持する ``pg_statistic`` システムテーブルのスナップショットを保存するテーブルです。
===================== ================ ====================================== ===========
カラム名 データ型 取得元 備考
===================== ================ ====================================== ===========
sid integer スナップショットID
starelid oid pg_statistic.starelid
starelname name pg_class.relname
staattnum smallint pg_statistic.staattnum
staattname name pg_attribute.attname
stainherit boolean pg_statistic.stainherit 9.0以降
stanullfrac real pg_statistic.stanullfrac
stawidth integer pg_statistic.stawidth
stadistinct real pg_statistic.stadistinct
stakind1 smallint pg_statistic.stakind1
stakind2 smallint pg_statistic.stakind2
stakind3 smallint pg_statistic.stakind3
stakind4 smallint pg_statistic.stakind4
stakind5 smallint pg_statistic.stakind5 9.2以降
staop1 oid pg_statistic.staop1
staop2 oid pg_statistic.staop2
staop3 oid pg_statistic.staop3
staop4 oid pg_statistic.staop4
staop5 oid pg_statistic.staop5 9.2以降
stanumbers1 real[] pg_statistic.stanumbers1
stanumbers2 real[] pg_statistic.stanumbers2
stanumbers3 real[] pg_statistic.stanumbers3
stanumbers4 real[] pg_statistic.stanumbers4
stanumbers5 real[] pg_statistic.stanumbers5 9.2以降
stavalues1 text pg_statistic.stavalues1
stavalues2 text pg_statistic.stavalues2
stavalues3 text pg_statistic.stavalues3
stavalues4 text pg_statistic.stavalues4
stavalues5 text pg_statistic.stavalues5 9.2以降
===================== ================ ====================================== ===========
pgperf.snapshot_pg_stat_statementsテーブル
------------------------------------------
セッション統計情報を取得する ``pg_stat_statements`` システムビューのスナップショットを保存するテーブルです。アドオンモジュール ``pg_stat_statements`` をインストール、設定している場合のみ有効です。
===================== ================ ====================================== ===========
カラム名 データ型 取得元 備考
===================== ================ ====================================== ===========
sid integer スナップショットID
userid oid pg_stat_statements.userid
dbid oid pg_stat_statements.dbid
query text pg_stat_statements.query
calls bigint pg_stat_statements.calls
total_time double precision pg_stat_statements.total_time
rows bigint pg_stat_statements.rows
shared_blks_hit bigint pg_stat_statements.shared_blks_hit
shared_blks_read bigint pg_stat_statements.shared_blks_read
shared_blks_dirtied bigint pg_stat_statements.shared_blks_dirtied 9.2以降
shared_blks_written bigint pg_stat_statements.shared_blks_written
local_blks_hit bigint pg_stat_statements.local_blks_hit
local_blks_read bigint pg_stat_statements.local_blks_read
local_blks_dirtied bigint pg_stat_statements.local_blks_dirtied 9.2以降
local_blks_written bigint pg_stat_statements.local_blks_written
temp_blks_read bigint pg_stat_statements.temp_blks_read
temp_blks_written bigint pg_stat_statements.temp_blks_written
blk_read_time double precision pg_stat_statements.blk_read_time 9.2以降
blk_write_time double precision pg_stat_statements.blk_write_time 9.2以降
===================== ================ ====================================== ===========
pgperf.snapshot_pgstattupleテーブル
-----------------------------------
テーブルのフラグメンテーション情報を取得する ``pgstattuple()`` 関数のスナップショットを保存するテーブルです。アドオンモジュール ``pgstattuple`` をインストール、設定している場合のみ有効です。
===================== ================ ====================================== ===========
カラム名 データ型 取得元 備考
===================== ================ ====================================== ===========
sid integer スナップショットID
schemaname name pg_stat_user_tables.schemaname
relname name pg_stat_user_tables.relname
table_len int8 pgstattuple().table_len
tuple_count int8 pgstattuple().tuple_count
tuple_len int8 pgstattuple().tuple_len
tuple_percent float8 pgstattuple().tuple_percent
dead_tuple_count int8 pgstattuple().dead_tuple_count
dead_tuple_len int8 pgstattuple().dead_tuple_len
dead_tuple_percent float8 pgstattuple().dead_tuple_percent
free_space int8 pgstattuple().free_space
free_percent float8 pgstattuple().free_percent
===================== ================ ====================================== ===========
pgperf.snapshot_pgstatindexテーブル
-----------------------------------
インデックスのフラグメンテーション情報を取得する ``pgstatindex()`` 関数のスナップショットを保存するテーブルです。アドオンモジュール ``pgstattuple`` をインストール、設定している場合のみ有効です。
===================== ================ ====================================== ===========
カラム名 データ型 取得元 備考
===================== ================ ====================================== ===========
sid integer スナップショットID
schemaname name pg_stat_user_indexes.schemaname
relname name pg_stat_user_indexes.relname
indexrelname name pg_stat_user_indexes.indexrelname
version int4 pgstatindex().version
tree_level int4 pgstatindex().tree_level
index_size int8 pgstatindex().index_size
root_block_no int8 pgstatindex().root_block_no
internal_pages int8 pgstatindex().internal_pages
leaf_pages int8 pgstatindex().leaf_pages
empty_pages int8 pgstatindex().empty_pages
deleted_pages int8 pgstatindex().deleted_pages
avg_leaf_density float8 pgstatindex().avg_leaf_density
leaf_fragmentation float8 pgstatindex().leaf_fragmentation
===================== ================ ====================================== ===========