Chapter 3. システムカタログ

Table of Contents
3.1. 概要
3.2. pg_aggregate
3.3. pg_attrdef
3.4. pg_attribute
3.5. pg_class
3.6. pg_database
3.7. pg_description
3.8. pg_group
3.9. pg_index
3.10. pg_inherits
3.11. pg_language
3.12. pg_operator
3.13. pg_proc
3.14. pg_relcheck
3.15. pg_shadow
3.16. pg_type

3.1. 概要

システムカタログとは、リレーショナルデータベースの監理システムが テーブルやカラムの情報などのメタデータの概要と内部的簿記情報を格納する場所です。 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に説明が記されています。 いくつかのカタログはまだドキュメントが書かれていません。