パート VII. 内部情報

ここでは、PostgreSQL開発者が使用できる情報を分類して説明します。

目次

49. PostgreSQL内部の概要
49.1. 問い合わせの経路
49.2. 接続の確立
49.3. 構文解析過程
49.4. PostgreSQLルールシステム
49.5. プランナ/オプティマイザ
49.6. エクゼキュータ
50. システムカタログ
50.1. 概要
50.2. pg_aggregate
50.3. pg_am
50.4. pg_amop
50.5. pg_amproc
50.6. pg_attrdef
50.7. pg_attribute
50.8. pg_authid
50.9. pg_auth_members
50.10. pg_cast
50.11. pg_class
50.12. pg_collation
50.13. pg_constraint
50.14. pg_conversion
50.15. pg_database
50.16. pg_db_role_setting
50.17. pg_default_acl
50.18. pg_depend
50.19. pg_description
50.20. pg_enum
50.21. pg_event_trigger
50.22. pg_extension
50.23. pg_foreign_data_wrapper
50.24. pg_foreign_server
50.25. pg_foreign_table
50.26. pg_index
50.27. pg_inherits
50.28. pg_init_privs
50.29. pg_language
50.30. pg_largeobject
50.31. pg_largeobject_metadata
50.32. pg_namespace
50.33. pg_opclass
50.34. pg_operator
50.35. pg_opfamily
50.36. pg_pltemplate
50.37. pg_policy
50.38. pg_proc
50.39. pg_range
50.40. pg_replication_origin
50.41. pg_rewrite
50.42. pg_seclabel
50.43. pg_shdepend
50.44. pg_shdescription
50.45. pg_shseclabel
50.46. pg_statistic
50.47. pg_tablespace
50.48. pg_transform
50.49. pg_trigger
50.50. pg_ts_config
50.51. pg_ts_config_map
50.52. pg_ts_dict
50.53. pg_ts_parser
50.54. pg_ts_template
50.55. pg_type
50.56. pg_user_mapping
50.57. システムビュー
50.58. pg_available_extensions
50.59. pg_available_extension_versions
50.60. pg_config
50.61. pg_cursors
50.62. pg_file_settings
50.63. pg_group
50.64. pg_indexes
50.65. pg_locks
50.66. pg_matviews
50.67. pg_policies
50.68. pg_prepared_statements
50.69. pg_prepared_xacts
50.70. pg_replication_origin_status
50.71. pg_replication_slots
50.72. pg_roles
50.73. pg_rules
50.74. pg_seclabels
50.75. pg_settings
50.76. pg_shadow
50.77. pg_stats
50.78. pg_tables
50.79. pg_timezone_abbrevs
50.80. pg_timezone_names
50.81. pg_user
50.82. pg_user_mappings
50.83. pg_views
51. フロントエンド/バックエンドプロトコル
51.1. 概要
51.2. メッセージの流れ
51.3. ストリーミングレプリケーションプロトコル
51.4. メッセージのデータ型
51.5. メッセージの書式
51.6. エラーおよび警報メッセージフィールド
51.7. プロトコル2.0からの変更点の要約
52. PostgreSQLコーディング規約
52.1. 書式
52.2. サーバ内部からのエラーの報告
52.3. エラーメッセージのスタイルガイド
52.4. その他のコーディング規約
53. 多言語サポート
53.1. 翻訳者へ
53.2. プログラマへ
54. 手続き言語ハンドラの作成
55. 外部データラッパの作成
55.1. 外部データラッパ関数
55.2. 外部データラッパのコールバックルーチン
55.3. 外部データラッパヘルパ関数
55.4. 外部データラッパのクエリプラン作成
55.5. 外部データラッパでの行ロック
56. テーブルサンプリングメソッドの書き方
56.1. サンプリングメソッドサポート関数
57. カスタムスキャンプロバイダの作成
57.1. カスタムスキャンパスの作成
57.2. カスタムスキャン計画の作成
57.3. カスタムスキャンの実行
58. 遺伝的問い合わせ最適化
58.1. 複雑な最適化問題としての問い合わせ処理
58.2. 遺伝的アルゴリズム
58.3. PostgreSQLの遺伝的問い合わせ最適化(GEQO
58.4. さらに深く知るには
59. インデックスアクセスメソッドのインタフェース定義
59.1. インデックスの基本的API構造
59.2. インデックスアクセスメソッド関数
59.3. インデックススキャン
59.4. インデックスのロック処理に関する検討
59.5. インデックス一意性検査
59.6. インデックスコスト推定関数
60. 汎用WALレコード
61. GiSTインデックス
61.1. はじめに
61.2. 組み込み演算子クラス
61.3. 拡張性
61.4. 実装
61.5. 例
62. SP-GiSTインデックス
62.1. はじめに
62.2. 組み込み演算子クラス
62.3. 拡張性
62.4. 実装
62.5. 例
63. GINインデックス
63.1. はじめに
63.2. 組み込み演算子クラス
63.3. 拡張性
63.4. 実装
63.5. GINの小技
63.6. 制限
63.7. 例
64. BRINインデックス
64.1. はじめに
64.2. 組み込み演算子クラス
64.3. 拡張性
65. データベースの物理的な格納
65.1. データベースファイルのレイアウト
65.2. TOAST
65.3. 空き領域マップ
65.4. 可視性マップ
65.5. 初期化フォーク
65.6. データベースページのレイアウト
66. BKIバックエンドインタフェース
66.1. BKIファイル形式
66.2. BKIコマンド
66.3. BKIファイルのブートストラップの構成
66.4. 例
67. プランナは統計情報をどのように使用するか
67.1. 行数推定の例