★PostgreSQLカンファレンス2024 12月6日開催/チケット販売中★
他のバージョンの文書 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 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

第 42章システムカタログ

目次
42.1. 概要
42.2. pg_aggregate
42.3. pg_am
42.4. pg_amop
42.5. pg_amproc
42.6. pg_attrdef
42.7. pg_attribute
42.8. pg_authid
42.9. pg_auth_members
42.10. pg_autovacuum
42.11. pg_cast
42.12. pg_class
42.13. pg_constraint
42.14. pg_conversion
42.15. pg_database
42.16. pg_depend
42.17. pg_description
42.18. pg_index
42.19. pg_inherits
42.20. pg_language
42.21. pg_largeobject
42.22. pg_listener
42.23. pg_namespace
42.24. pg_opclass
42.25. pg_operator
42.26. pg_pltemplate
42.27. pg_proc
42.28. pg_rewrite
42.29. pg_shdepend
42.30. pg_statistic
42.31. pg_tablespace
42.32. pg_trigger
42.33. pg_type
42.34. システムビュー
42.35. pg_group
42.36. pg_indexes
42.37. pg_locks
42.38. pg_prepared_xacts
42.39. pg_roles
42.40. pg_rules
42.41. pg_settings
42.42. pg_shadow
42.43. pg_stats
42.44. pg_tables
42.45. pg_user
42.46. pg_views

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

42.1. 概要

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

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

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

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