PostgreSQLの内部構造を読み解く:データベースクラスタ、データベース、テーブル
本記事では、PostgreSQLのデータベースクラスタ、データベース、テーブルの内部構造について詳しく解説する。ファイルシステム上での物理的な格納方法、ディレクトリ構成、テーブルのページ構造など、PostgreSQLの内部動作を理解するための基礎知識を提供する。
背景メモ
- PostgreSQLはオープンソースのリレーショナルデータベース管理システム(RDBMS)。本記事はその内部構造を解説している。
- 「データベースクラスター」とはPostgreSQL用語で、1つのサーバープロセス群が管理するデータの集まり。いわゆる複数サーバーのクラスターではなく、1つのインスタンスが扱う全データベースを指す。
- 記事では「データベースクラスター」「データベース」「テーブル」の階層構造を、ファイルシステム上での物理的な配置と、システムカタログ(pg_catalogスキーマ)というメタデータ管理の仕組みを通して説明。
- OID(Object Identifier)やリレーションファイル(実データを格納するOS上のファイル)など、パフォーマンスチューニングや障害調査で知っておくべき内部概念に焦点が当たっている。
- 対象読者は、すでにSQLは使えるがPostgreSQLの内部動作を理解したい中級者以上。DBAやバックエンドエンジニアが想定される。