他のバージョンの文書9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

第 41章システムカタログ

目次
41.1. 概要
41.2. pg_aggregate
41.3. pg_am
41.4. pg_amop
41.5. pg_amproc
41.6. pg_attrdef
41.7. pg_attribute
41.8. pg_cast
41.9. pg_class
41.10. pg_constraint
41.11. pg_conversion
41.12. pg_database
41.13. pg_depend
41.14. pg_description
41.15. pg_group
41.16. pg_index
41.17. pg_inherits
41.18. pg_language
41.19. pg_largeobject
41.20. pg_listener
41.21. pg_namespace
41.22. pg_opclass
41.23. pg_operator
41.24. pg_proc
41.25. pg_rewrite
41.26. pg_shadow
41.27. pg_statistic
41.28. pg_tablespace
41.29. pg_trigger
41.30. pg_type
41.31. システムビュー
41.32. pg_indexes
41.33. pg_locks
41.34. pg_rules
41.35. pg_settings
41.36. pg_stats
41.37. pg_tables
41.38. pg_user
41.39. pg_views

システムカタログとは、リレーショナルデータベースの管理システムがテーブルや列の情報などのスキーマメタデータと内部的な情報を格納する場所です。PostgreSQL のシステムカタログは通常のテーブルです。テーブルを削除したり再作成したり、列の追加および値の挿入や更新をすることは可能ですが、これらの操作でデータベースシステムを台無しにしてしまう可能性もあります。通常手作業でシステムカタログを変更してはいけません。その代わりとして SQL コマンドを使用します。(たとえば CREATE DATABASE により pg_database カタログに一行挿入し、ディスク上にデータベースを実際に作成します。)しかしインデックスアクセスメソッドを追加するような特に難易度の高い操作のときなどの例外があります。

41.1. 概要

表41-1 でシステムカタログをリストしています。以下にシステムカタログのより詳細な説明をします。

ほとんどのシステムカタログはデータベースを作成するときにテンプレートデータベースからコピーされデータベースに固有のものとなります。ごく一部のカタログがデータベースクラスタ内のすべてのデータベースにわたって物理的に共有されます。これらについては、それぞれのカタログの所に記載されています。

表 41-1. システムカタログ

カタログ名用途
pg_aggregate集約関数
pg_amインデックスアクセスメソッド
pg_amopアクセスメソッド演算子
pg_amprocアクセスメソッドサポートプロシージャ
pg_attrdef列デフォルト値
pg_attributeテーブル列("属性"
pg_castキャスト(データ型変換)
pg_classテーブル、インデックス、シーケンス、ビュー("リレーション"
pg_constraintチェック制約、一意性/主キー制約、外部キー制約
pg_conversion符号化変換情報
pg_databaseこのデータベースクラスタにあるデータベース
pg_dependデータベースオブジェクト間の依存関係
pg_descriptionデータベースオブジェクトの説明やコメント
pg_groupデータベースユーザのグループ
pg_index追加インデックス情報
pg_inheritsテーブル継承階層
pg_language関数記述言語
pg_largeobjectラージオブジェクト
pg_listener非同期通知サポート
pg_namespace名前空間(スキーマ)
pg_opclassインデックスアクセスメソッド演算子クラス
pg_operator演算子
pg_proc関数とプロシージャ
pg_rewrite問い合わせ書き換えルール
pg_shadowデータベースユーザ
pg_statisticプランナ統計値
pg_tablespaceデータベースクラスタ内のテーブル空間
pg_triggerトリガ
pg_typeデータ型