pg_dbms_stats-1.3.1

  1. 関数
  2. テーブル
  3. ビュー

関数

pg_dbms_stats は下記の関数を含みます。

各関数の意味は以下の通りです。

機能関数引数オブジェクト単位戻り値
バックアップ dbms_stats.backup_database_stats comment データベース int8
dbms_stats.backup_schema_stats schemaname、comment スキーマ
dbms_stats.backup_table_stats relname、comment テーブル
schemaname、tablename、comment
dbms_stats.backup_column_stats relname、attname、comment
schemaname、tablename、attname、comment
リストア dbms_stats.restore_database_stats timestamp データベース regclass
dbms_stats.restore_schema_stats schemaname、timestamp スキーマ
dbms_stats.restore_table_stats relname、timestamp テーブル
schemaname、tablename、timestamp
dbms_stats.restore_column_stats relname、attname、timestamp
schemaname、tablename、attname、timestamp
dbms_stats.restore_stats backup_id バックアップ
ロック dbms_stats.lock_database_stats (なし) データベース regclass
dbms_stats.lock_schema_stats schemaname スキーマ
dbms_stats.lock_table_stats relname テーブル
schemaname、tablename
dbms_stats.lock_column_stats relname、attname
schemaname、tablename、attname
ロック解除 dbms_stats.unlock_database_stats (なし) データベース regclass
dbms_stats.unlock_schema_stats schemaname スキーマ
dbms_stats.unlock_table_stats relname テーブル
schemaname、tablename
dbms_stats.unlock_column_stats relname、attname
schemaname、tablename、attname
インポート dbms_stats.import_database_stats src データベース void
dbms_stats.import_schema_stats schemaname、src スキーマ
dbms_stats.import_table_stats relname、src テーブル
schemaname、tablename、src
dbms_stats.import_column_stats relname、attname、src
schemaname、tablename、attname、src
パージ dbms_stats.purge_stats backup_id、force バックアップ dbms_stats.backup_history
クリーンアップ dbms_stats.clean_up_stats (なし) データベース text

各関数で用いられている引数の意味は以下の通りです。

引数データ型意味
schemaname text 処理対象のスキーマ名です。
relname regclass 処理対象のテーブル名です。ただし、(スキーマ名).(テーブル名) という形になります。
tablename text 処理対象のテーブル名です。
attname text 処理対象の列名です。
comment text バックアップを識別するためのコメントです。
as_of_timestamp timestamptz リストアしたいタイミングの基準になるタイムスタンプです。このタイムスタンプ以前で最新のバックアップデータをリストアします。該当するバックアップが存在しない場合、統計情報は現在プランナが見ている値から変更されません。
src text インポート対象のファイルの絶対パスです。
backup_id bigint リストアやパージの対象となるバックアップIDです。 リストアの場合、一致するバックアップIDのバックアップデータをリストアします。 パージの場合、一致するバックアップID以前のバックアップを削除します。
force bool パージするとき、バックアップを強制的に削除するかを決める変数です。 trueの場合、対象範囲のバックアップを全て削除します。 falseの場合、対象範囲外にデータベース単位のバックアップデータが存在しなければ、警告メッセージを出力して処理を中断します。 デフォルトはfalseです。

また、統計情報のエクスポート機能は、SQLファイルで実装しています。
各SQLファイルの意味は以下の通りです。なお、出力ファイル名のデフォルトはexport_stats.dmpです。

ファイル名対象統計情報備考
export_effective_stats.<PGバージョン>.sql.sample プランナが見ている統計情報 -
export_plain_stats-<PGバージョン>.sql.sample 真の統計情報のみ pg_dbms_stats未インストールでも使用可能です。

テーブル

pg_dbms_statsは以下のテーブルを含みます。

各テーブルの意味は以下の通りです。

テーブル名列名データ型意味
dbms_stats.backup_history id int8 バックアップ時に付与されたバックアップIDです。
time timestamptz バックアップ時のタイムスタンプです。
unit char(1) バックアップ時のオブジェクト単位です。
d:データベース、s:スキーマ、t:テーブル、c:列
comment text バックアップ時に指定したコメントです。

ビュー

pg_dbms_stats は下記のビューを含みます。

各ビューの意味は以下の通りです。

ビュー名意味
dbms_stats.relation_stats_effective プランナに見せるテーブルごとの統計情報を表示します。PostgreSQLのpg_classカタログに対応します。
dbms_stats.column_stats_effective プランナに見せる列ごとの統計情報を表示します。PostgreSQLのpg_statisticカタログに対応します。
dbms_stats.status プランナに見せる列ごとの統計情報のうち、ユーザが読み取り可能なものを表示します。PostgreSQLのpg_statsビューに対応します。

関連項目

psql, vacuumdb