CLIツール
pgmoneta/pgmoneta avatar
pgmoneta/pgmoneta

pgmonetaで読むPostgreSQLバックアップ設計

PostgreSQL のバックアップ/復元ソリューション。フルおよび増分バックアップ、ポイントインタイム復元、WAL シッピング、ホットスタンバイ、圧縮、暗号化、TLS、および操作用の Prometheus インターフェイスをサポートしています。

スター 316フォーク 118CBSD-3-Clause

ひと目でわかる

これは何?
PostgreSQLのフル・増分バックアップ、WAL、復元、監視を一つのC製デーモンで扱う範囲と導入条件
誰に向いている?
pgmoneta は PostgreSQL のバックアップと復元に幅広い機能を提供し、明確なインストール経路とアーキテクチャを備えています。README にはパフォーマンスベンチマークや本番事例は含まれていないため、それらはまだ検証が必要です。
商用利用できる?
できます。BSD-3-Clause は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
今もメンテナンスされている?
されています。最後のコミットは 1 日前です。
何の言語で書かれている?
主に C です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

PostgreSQL 向けバックアップと復元ソリューション

pgmoneta は C で書かれた PostgreSQL 向けバックアップ/復元ソリューションです。README には、フルバックアップ、増分バックアップ、ポイントインタイムリカバリ、WAL シッピング、ホットスタンバイ、圧縮、暗号化、TLS、運用向けの Prometheus インターフェースが列挙されています。また、メトリクスを確認するためのウェブコンソールや、pgmoneta-cli または pgmoneta-mcp によるリモート管理も含まれます。プロジェクト名はローマ神話の記憶の女神に由来します。リポジトリメタデータには執筆時点で 303 スター、102 フォーク、62 の未解決問題が示されていますが、README には利用数やパフォーマンスの主張はありません。

バックアップ機能と運用ツール

README には、テーブルスペース対応の PostgreSQL クラスタのフルバックアップ、PostgreSQL 14+ 向けの増分バックアップ(PostgreSQL 17+ でテーブルスペース対応)が記載されています。保存済みの任意のバックアップへの復元が可能で、ポイントインタイムリカバリにも対応します。WAL ストリーミングは Write-Ahead Log セグメントを保存し、WAL ツールは WAL レコードを検査し、必要に応じてフィルタリングできます。圧縮は gzip、zstd、lz4、bzip2 をサポートします。保存中のバックアップは AES 暗号化が可能です。全ファイルでシンボリックリンクをサポートします。ホットスタンバイはクラスタのウォームコピーを保持します。Prometheus メトリクスエンドポイントとウェブコンソールが用意されています。到達不能インスタンスのオフライン検出も含まれます。クライアントとサーバー間の接続は TLS v1.2+ に対応しています。systemd 統合を備えたデーモンモードが利用できます。ユーザーボールトは PostgreSQL の認証情報を安全に管理し、ワーカープールはバックアップ、復元、削除、検証などの操作を高速化します。また、自然言語でコアと対話するための MCP サーバー/クライアントもあります。

pgmoneta のインストール

RPM ベースのディストリビューションでは、pgmoneta は公式の PostgreSQL YUM リポジトリ(PGDG)からビルド済みパッケージとして入手できます。README には、Fedora / RHEL / Rocky Linux / AlmaLinux 10 向けに reporpms RPM をインストールして PGDG リポジトリを追加し、dnf install pgmoneta を使用する例が示されています。pgmoneta は PostgreSQL バイナリに依存しないが、ツールを試すために PostgreSQL が必要な場合は、ディストリビューション標準の PostgreSQL モジュールを無効にして選択した PostgreSQL バージョンをインストールできるとしています。ソースからのビルドには、clang または gcc、cmake、make、libev、OpenSSL、zlib、zstd、lz4、bzip2、systemd、libssh、libarchive、rst2man が必須依存関係です。README では cmake を使ったリリースビルドとデバッグビルドのコマンドを提供しています。リリースビルドはデフォルトで /usr/local にインストールされます。

ドキュメントとテスト済みプラットフォーム

README は、英語とスペイン語のユーザーガイド、入門ガイド、設定、ウェブコンソール、アーキテクチャ、開発者ガイドへのリンクを提供しています。ドキュメントの PDF はウェブサイトとリリースページで入手できます。テスト済みプラットフォームとして、Fedora 42+、RHEL 10.x、Rocky Linux 10.x、AlmaLinux 10.x、FreeBSD、OpenBSD が挙げられています。README は、記載されているもの以外のオペレーティングシステムのバージョンや、他のプラットフォームについては言及していません。

アーキテクチャと内部設計

概要セクションによると、pgmoneta はプロセスモデル、プロセス間の共有メモリモデル、高速なネットワーク対話のための libev、状態を追跡するためのアトミック操作を使用します。アーキテクチャ文書へのリンクがあります。README はこれらの 4 点以外の実装詳細は提供していません。

コミュニティ、関連プロジェクト、ライセンス

関連プロジェクトには pgmoneta_mcp があり、これは pgmoneta 用の Model Context Protocol サーバーで、AI アシスタントがバックアップと復元を操作できるようにします。このプロジェクトは mnemosyne systems がスポンサーです。コミュニティチャネルはウェブサイトと X/Twitter アカウントです。ライセンスは BSD-3-Clause です。ライセンス文は、ソース形式とバイナリ形式での再配布と使用を許可し、著作権表示と免責事項の保持などの条件を課し、著作権者の名前を事前の書面による許可なく派生製品の推奨や宣伝に使用することを禁止しています。ソフトウェアは「AS IS」で提供され、いかなる種類の保証もありません。ライセンスは、セキュリティ姿勢、サポート、パフォーマンスについては言及していません。

導入判断では、PostgreSQL 14以上で増分バックアップを使うのか、17以上でテーブルスペースも含めるのかを先に切り分けます。圧縮方式はgzip、zstd、lz4、bzip2から選べますが、READMEは容量削減率や処理時間を示していません。AESは保存時のバックアップを対象にする説明で、鍵の保管方法まで明記されているわけではありません。

編集部の結論

pgmoneta は PostgreSQL のバックアップと復元に幅広い機能を提供し、明確なインストール経路とアーキテクチャを備えています。README にはパフォーマンスベンチマークや本番事例は含まれていないため、それらはまだ検証が必要です。 pgmonetaの対応機能、PostgreSQLの世代別増分バックアップ、圧縮と暗号化、導入先OS、運用時に見るべき資料をREADMEに沿って整理します。 採用前にはREADMEに示された導入コマンドを隔離した検証環境で実行し、対象バージョン、生成ログ、依存関係、権限の変化を記録してください。

公式情報源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
コミュニティノート

コミュニティノート