12.3. Postgresシステムカタログについて

基本的な拡張の概念を紹介しましたので、実際にカタログが どのように設計されているか見てみたいと思います。今は このセクションを飛ばしても構いませんが、 ここで与えられる情報なしで後のセクションを 理解するのは難しくなるため、 後の参照用にこのセクションはマークしておいて下さい。 全てのシステムカタログはpg_で始まる 名前を持っています。 次のテーブルはエンドユーザに役立つかもしれない情報を 持っています。(他にも沢山のシステムカタログがありますが、 それらに直接問い合わせることはほとんどないはずです。)

Table 12-1. Postgres システムカタログ

カタログ名説明
pg_databaseデータベース
pg_classテーブル
pg_attributeテーブルカラム
pg_index副インデックス
pg_procプロシージャ (C と SQL の両方)
pg_type型 (基本と複合の両方)
pg_operator演算子
pg_aggregate集約と集約関数
pg_amアクセスメソッド
pg_amopアクセスメソッド演算子
pg_amprocアクセスメソッドサポート関数
pg_opclassアクセスメソッド演算子クラス

Figure 12-1. 主要なPostgresシステムカタログ

参照マニュアルはこれらのカタログとそのカラムのもっと詳しい説明 をしています。しかしFigure 12-1が主要な実体 とそれらの関係をシステムカタログの中で表しています。(他の実体を 参照しない実体は主キーの一部でない限り表されていません。) この表は、実際にカタログの中身を見てそれらがお互いどう関係している かを見るまでは理解しづらいものです。今は、この表で理解するべき 項目は以下です: