Phoronixは12月21日、「PostgreSQL Lands Support For Incremental Backups」において、オープンソースのリレーショナルデータベースシステム「PostgreSQL」に増分バックアップ機能が追加されたと伝えた。増分バックアップは、前回行われたバックアップから変更や追加のあった部分だけを記録することで、バックアップの容量を節約する手法。PostgreSQLには、フルバックアップ以降の変更を記録する差分バックアップの機能は用意されているが、増分バックアップはこれまでサポートされていなかった。
PostgreSQLの増分バックアップの基本デザイン
増分バックアップのコードは開発者のRobert Haas氏によって作成され、Gitリポジトリ上で12月20日にマージされた。同氏による増分バックアップの基本デザインは、次の主要な3つの部分から構成されている。
- walsummarizerと呼ばれる新しいバックグラウンドプロセスが、WAL(ログ先行書き込み)を読み取ってバックアップする範囲の特定に必要な情報を持ったWAL概要ファイルを作成する
- pg_basebackupに増分バックアップ モードを追加する。このモードは、WAL概要ファイルを読み取って前回のバックアップからの変更部分を把握する
- 完全バックアップと1つ以上の増分バックアップを取得して、健全性をチェックし、新しい合成完全バックアップを書き出すpg_combinebackupを追加する
このアイデアに関する詳細や議論は、メーリングリストの次のスレッドで確認できる。
順調に開発が進めば、次期メジャーバージョンのPostgreSQL 17ではこの増分バックアップ機能がサポートされることになる。PostgreSQL 17は2024年9月にリリースされる予定となっている。