PostgreSQLの内部構造
The Internals of PostgreSQL (interdb.jp)
要約
Hironobu SUZUKI氏によるPostgreSQLの内部構造に関する包括的なドキュメントです。データベースクラスタ、プロセスアーキテクチャ、クエリ処理、レプリケーションなど、PostgreSQLの各サブシステムがどのように機能するかを解説し、その全体像を提供することを目的としています。著者は、このドキュメントの商用利用に関するライセンス条件も明記しています。
全文翻訳
私は現在、新しい国際的な機会を求めています!🌍
一時的に日本に滞在し、健康と個人的な責任に集中していましたが、完全に回復し、再び海外で働く準備ができており、楽しみにしています。
ヨーロッパへの復帰、および南半球や東南アジアでの機会に非常に興味があります。
探しているもの:
- PostgreSQLにおける挑戦的なタスク。
- 国際的なビザスポンサーシップを提供するロール、またはデジタルノマドのライフスタイルをサポートするリモートワーク。
あなたのチームが採用活動を行っているなら、ぜひ繋がりましょう!E-mail (hironobu @ interdb.jp または interdb.mx @ gmail.com) または DM でお気軽にご連絡ください。
最新情報
- 2026年9月26日: 11周年!このコンテンツは2015年9月26日に公開されました。
- 2026年6月28日: セクション8.5、「PostgreSQLにおける非同期I/O」 公開。
- 2026年5月1日: 第12章、「論理レプリケーション」(ベータ版) 公開。
- 2024年12月14日: セクション11.2.4 に競合(Conflicts)を追加。
変更履歴(2018年6月3日以降)
PostgreSQLの内部構造
PostgreSQLは、世界中で広く使用されている、設計性に優れたオープンソースの汎用リレーショナルデータベースシステムです。
それは、それぞれが特定の複雑な機能を持つ統合されたサブシステム群からなる巨大なシステムであり、互いに協力して動作します。PostgreSQLを用いた管理と統合の両方において内部メカニズムの理解は不可欠ですが、その巨大さと複雑さから理解は困難です。
このドキュメントの主な目的は、各サブシステムがどのように機能するかを説明し、PostgreSQLの全体像を提供することです。
このドキュメントは、バージョン19-beta(新しいバッファページロック機構を除く)およびそれ以前を対象としています。
いくつかの学術論文 でこのドキュメントが参照されています。このドキュメントの中国語版は2019年6月に発行されました。
このドキュメントは2015年9月26日に初めて公開されました。
目次
-
第1章。データベースクラスタ、データベース、テーブル
-
第2章。プロセスとメモリのアーキテクチャ
-
第3章。クエリ処理
-
第4章。外部データラッパー(FDW)
-
第5章。同時実行制御
-
第6章。VACUUM処理
-
第7章。Heap Only Tuple (HOT) と Index-Only Scans
-
第8章。バッファマネージャ
-
第9章。ライトアヘッドロギング(WAL)
-
第10章。オンラインバックアップとポイントインタイムリカバリ(PITR)
-
第11章。ストリーミングレプリケーション
-
第12章。論理レプリケーション(ベータ版)
Hironobu SUZUKI
私はソフトウェアプログラマー/エンジニアであり、以下の著作者です:
情報工学の大学院を修了(情報工学修士)し、複数の企業でソフトウェア開発者およびテクニカルマネージャー/ディレクターとして勤務しました。データベースとシステム統合の分野で7冊の本(PostgreSQL関連4冊、MySQL関連3冊)を出版しました。2019年6月には、このドキュメントの中国語版が出版されました。
日本PostgreSQLユーザーズグループのディレクター(2010-2016年)として、6年以上にわたり日本で最大の(非営利)PostgreSQL技術セミナー/講演会を企画し、2013年にはJapan PostgreSQL Conferenceのプログラム委員長、2008年と2009年には委員を務めました。
2022年6月、「PostgreSQL person of the week」に私のインタビュー記事が掲載されました。
若い頃、数年間南米に住んでいました。最近は時々そこに戻っています。
私は、MLとAI技術をDBMSに応用することに焦点を当てたリモートポジションを探しています。個人的な理由により、今後数年間は日本に滞在する予定です。
連絡先
メッセージを送信する前に、以下のFAQをお読みください。
FAQ
私のコンテンツを公開して以来、多くの肯定的なフィードバックをいただき、本当に光栄です。しかし残念ながら、過去には私のコンテンツを自己宣伝のために悪用しようとした人々に出会ったこともあります1。
これらの経験が、私が以下に概説するアプローチを形作りました。
- このドキュメントは誰が自由に利用できますか?
教育機関に所属する教師または学生であれば、学習のためにこのドキュメントや図を自由に使用できます。このサイトへのリンクと著作権を表示すれば、非営利の会議や講演会で誰でもこのドキュメントや図を使用できます。それ以外の場合は、私に連絡してください。 - 商用コンテンツには利用できますか?
このコンテンツは2つのオプションの下で利用できます:
Hacker Newsで真剣に受け止められたコメントがありましたが、もちろんそれは冗談です。はっきり言っておきますが、これに関して商業的な関係を持つ意図はありません。それにもかかわらず、日々どのようなリクエストが来るか想像できるでしょう。- レベニューシェア:このコンテンツを使用した結果生じた売上の20%を共有する合意が署名された後、このコンテンツを活用できます。
- 全買取:非常に稀なケースですが、このサイトの全コンテンツの商業利用のリクエストを検討します。全コンテンツの権利を完全に買い取る場合、費用は€5,000,000です。
- 著者は執筆を手伝ってもらう必要がありますか?
いいえ。私は自分の楽しみのために書いています。たとえ記事を送ってくれても、私のドキュメントに含めることは決してありません。 - 著者はなぜGitBookや他の電子書籍フォーマット/サイトを使用しないのですか?
私は必要な最良のツールを使用しており、何を使用するかは私が決定します。私は常に、より良い説明のために多くのツールを試しています。
簡単に言えば、このドキュメントはhtmlファイルで読むのに最適化されており、他のフォーマットに変換するのは困難です。
同じ理由で、PDF版やスマートフォン版を作成する計画はありません。 - 著者は更新を通知するためにRSSを使用しないのですか?
私は私のドキュメントを提供するためにドメインとサーバーを維持しています。読みたいときに読むことができます。他に何を望みますか? - 著者はなぜこのドキュメントの著作権を放棄しないのですか、またはクリエイティブ・コモンズ・ライセンスを使用しないのですか?
私のドキュメントの著作権を私が保持することによって、どのような問題があるかお尋ねしたいと思います。
- ソースコードを見る。↩︎
読んだ後、公開で私のTwitterにメッセージを送ってください。
または
メールを使用する場合は、検証目的で少なくとも2つのSNSアドレス(例:LinkedIn、Twitter)を提供してください。XZバックドア事件のため、匿名の個人からの連絡は受け付けなくなりました。
著作権
© Copyright ALL Right Reserved, Hironobu SUZUKI。
このドキュメントまたはその図の利用に関するお問い合わせは、私にご連絡ください。
例外:教育機関はこのドキュメントを自由に利用できます。