システムカタログとは、リレーショナルデータベースの監理システムが テーブルやカラムの情報などのメタデータの概要と内部的簿記情報を格納する場所です。 PostgreSQLのシステムカタログは普通のテーブルで 作成されています。このテーブルのカラムを追加したり、値の挿入や更新、 あるいはテーブルの削除や再構築は可能ですが、それらの行為はデータベース のシステムを著しく破壊してしまう可能性があります。通常は手動で システムカタログの設定を変更する必要はなく、SQLコマンドを使用します。 例えばCREATE DATABASEのコマンドを使って pg_databaseカタログに行を挿入し、 ディスク上に実際のデータベースを作成します。しかし、アクセスメソッドに インデックスを追加するときのような難易度の高い操作の時などは例外があります。
Table 3-1. システムカタログ
カタログ名 | 用途 |
---|---|
pg_aggregate | 集約関数 |
pg_am | インデックスへのアクセスメソッド |
pg_amop | アクセスメソッド演算子 |
pg_amproc | アクセスメソッドサポート手順 |
pg_attrdef | カラムのデフォルト値 |
pg_attribute | テーブルカラム (属性、フィールド) |
pg_class | テーブル、インデックス、シーケンス("リレーション") |
pg_database | データベース |
pg_description | データベース オブジェクトの説明/コメント |
pg_group | ユーザーグループ |
pg_index | 追加インデックス情報 |
pg_inheritproc | (使用されていません) |
pg_inherits | テーブル継承階層 |
pg_ipl | (使用されていません) |
pg_language | 関数を記述するための言語 |
pg_largeobject | ラージオブジェクト |
pg_listener | 非同時通知 |
pg_opclass | インデックスアクセスメソッド演算子クラス |
pg_operator | 演算子 |
pg_proc | 関数と手続 |
pg_relcheck | チェック制約 |
pg_rewrite | クエリー書き換え規則 |
pg_shadow | データベースユーザ |
pg_statistic | オプティマイザ統計値 |
pg_trigger | トリガー |
pg_type | データ型 |
たいていのカタログのより詳細なドキュメントは以下に続きます。 インデックスアクセスメソッドに関連のあるカタログは Programmer's Guideに説明が記されています。 いくつかのカタログはまだドキュメントが書かれていません。