pgmoneta:從 README 拆解使用邊界
PostgreSQL 的備份/還原解決方案。它支援完整備份和增量備份、時間點復原、WAL 傳送、熱備用、壓縮、加密、TLS 和 Prometheus 操作介面。
秒懂
- 它是什麼?
- 以 C 語言撰寫的 PostgreSQL 備份與還原守護程式,支援完整/增量備份、時間點還原、WAL 傳輸與 TLS。
- 適合誰用?
- pgmoneta 為 PostgreSQL 備份與還原提供了廣泛的功能,並有明確的安裝路徑與架構說明。README 未包含效能基準或生產案例,這些仍有待驗證。
- 可以商用嗎?
- 可以。BSD-3-Clause 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
- 還在維護嗎?
- 有在維護。儲存庫最近一次提交在 1 天前。
- 用什麼語言寫的?
- 主要是 C(依據 GitHub 的語言統計)。
以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。
開源專案深度解析
針對 PostgreSQL 的備份與還原解決方案:入口與定位
以 C 語言撰寫的 PostgreSQL 備份與還原守護程式,支援完整/增量備份、時間點還原、WAL 傳輸與 TLS。 本文只採用 pgmoneta-pgmoneta README 已寫明的功能、數字、版本與限制,將它們放回實際使用者會遇到的選擇中。 pgmoneta 是一個以 C 語言撰寫的 PostgreSQL 備份與還原解決方案。README 列出了完整備份、增量備份、時間點還原、WAL 傳輸、熱備、壓縮、加密、TLS 以及用於維運的 Prometheus 介面。它也包含一個用於檢視指標的網頁主控台,以及透過 pgmoneta-cli 或 pgmoneta-mcp 進行的遠端管理。專案名稱取自羅馬記憶女神。儲存庫後設資料顯示有 303 顆星、102 個分叉和 62 個未關閉問題,但 README 未提供任何使用數字或效能聲明。(第 1 節的專案脈絡) pgmoneta 是一個以 C 語言撰寫的 PostgreSQL 備份與還原解決方案。README 列出了完整備份、增量備份、時間點還原、WAL 傳輸、熱備、壓縮、加密、TLS 以及用於維運的 Prometheus 介面。它也包含一個用於檢視指標的網頁主控台,以及透過 pgmoneta-cli 或 pgmoneta-mcp 進行的遠端管理。專案名稱取自羅馬記憶女神。儲存庫後設資料顯示有 303 顆星、102 個分叉和 62 個未關閉問題,但 README 未提供任何使用數字或效能聲明。
README 描述了帶有資料表空間支援的 PostgreSQL 叢集完整備份,以及針對 PostgreSQL 14+ 的增量備份(PostgreSQL 1(針對 pgmoneta-pgmoneta 的第 1 項核對) 在 pgmoneta-pgmoneta 的脈絡下,這一節的判斷不是把 README 改寫成宣傳語,而是指出條件如何影響使用。請把 pgmoneta-pgmoneta、README、實際命令與輸出放在同一份紀錄中,檢查輸入是否被正確接受、結果是否符合文件描述,以及限制是否在你的平台重現。這個核對點只對應本節的 入口,不把其他專案的經驗移植過來。
備份功能與維運工具:資料與執行邊界
閱讀 pgmoneta-pgmoneta 時,先分清專案宣稱的入口、依賴條件與輸出物。README 中的命令、檔案路徑和設定名稱,比抽象的效能形容更能界定它適合的工作。 README 描述了帶有資料表空間支援的 PostgreSQL 叢集完整備份,以及針對 PostgreSQL 14+ 的增量備份(PostgreSQL 17+ 支援資料表空間)。可還原到任意已儲存的備份,並支援時間點還原。WAL 串流傳輸儲存預寫日誌段,WAL 工具可檢查並可選地過濾 WAL 記錄。壓縮支援 gzip、zstd、lz4 和 bzip2。靜態備份可進行 AES 加密。所有檔案均支援符號連結。熱備功能可保持叢集的溫副本就緒。提供了 Prometheus 指標端點和網頁主控台。包含對不可達實例的離線偵測。用戶端和伺服器連線支援 TLS v1.2+。守護程式模式支援 systemd 整合。使用者保險庫用於安全管理 PostgreSQL 憑證,工作執行緒池可加速備份、還原、刪除、驗證等操作。還提供了 MCP 伺服器/用戶端,支援用自然語言與核心互動。(第 2 節的專案脈絡) 7+ 支援資料表空間)。可還原到任意已儲存的備份,並支援時間點還原。WAL 串流傳輸儲存預寫日誌段,WAL 工具可檢查並可選地過濾 WAL 記錄。壓縮支援 gzip、zstd、lz4 和 bzip2。靜態備份可進行 AES 加密。所有檔案均支援符號連結。熱備功能可保持叢集的溫副本就緒。提供了 Prometheus 指標端點和網頁主控台。包含對不可達實例的離線偵測。用戶端和伺服器連線支援 TLS v1.2+。守護程式模式支援 systemd 整合。使用者保險庫用於安全管理 PostgreSQL 憑證,工作執行緒池可加速備份、還原、刪除、驗證等操作。還提供了 MCP 伺服器/用戶端,支援用自然語言與核心互動。
對於基於 RPM 的發行版,pgm(針對 pgmoneta-pgmoneta 的第 2 項核對) 在 pgmoneta-pgmoneta 的脈絡下,這一節的判斷不是把 README 改寫成宣傳語,而是指出條件如何影響使用。請把 pgmoneta-pgmoneta、README、實際命令與輸出放在同一份紀錄中,檢查輸入是否被正確接受、結果是否符合文件描述,以及限制是否在你的平台重現。這個核對點只對應本節的 資料,不把其他專案的經驗移植過來。
安裝 pgmoneta:效能或功能取捨
對 pgmoneta-pgmoneta 的限制不能被標題或單一範例掩蓋。若 README 只描述某個平台、資料格式或測試條件,這個範圍就是判讀結果的邊界,不能延伸成未提供的承諾。 對於基於 RPM 的發行版,pgmoneta 可從官方 PostgreSQL YUM 儲存庫(PGDG)獲得預先編譯的套件。README 提供了為 Fedora / RHEL / Rocky Linux / AlmaLinux 10 新增 PGDG 儲存庫的範例,即安裝一個 reporpms RPM,然後使用 dnf install pgmoneta。它指出 pgmoneta 不依賴 PostgreSQL 二進位檔,但如果你需要 PostgreSQL 來試用該工具,可以停用發行版自帶的 PostgreSQL 模組並安裝所選版本。對於從原始碼建置,所需依賴包括 clang 或 gcc、cmake、make、libev、OpenSSL、zlib、zstd、lz4、bzip2、systemd、libssh、libarchive 和 rst2man。README 提供了使用 cmake 的釋出版和除錯版建置命令。釋出版預設安裝到 /usr/local。(第 3 節的專案脈絡) oneta 可從官方 PostgreSQL YUM 儲存庫(PGDG)獲得預先編譯的套件。README 提供了為 Fedora / RHEL / Rocky Linux / AlmaLinux 10 新增 PGDG 儲存庫的範例,即安裝一個 reporpms RPM,然後使用 dnf install pgmoneta。它指出 pgmoneta 不依賴 PostgreSQL 二進位檔,但如果你需要 PostgreSQL 來試用該工具,可以停用發行版自帶的 PostgreSQL 模組並安裝所選版本。對於從原始碼建置,所需依賴包括 clang 或 gcc、cmake、make、libev、OpenSSL、zlib、zstd、lz4、bzip2、s(針對 pgmoneta-pgmoneta 的第 3 項核對) 在 pgmoneta-pgmoneta 的脈絡下,這一節的判斷不是把 README 改寫成宣傳語,而是指出條件如何影響使用。請把 pgmoneta-pgmoneta、README、實際命令與輸出放在同一份紀錄中,檢查輸入是否被正確接受、結果是否符合文件描述,以及限制是否在你的平台重現。這個核對點只對應本節的 效能,不把其他專案的經驗移植過來。
文件與已測試平台:實際核對方式
採用前可針對 pgmoneta-pgmoneta 的專屬入口做小型核對:使用 README 指定的命令或檔案,觀察實際輸出、錯誤訊息、資源用量與版本差異。這些觀察點要和文中聲稱的能力逐項對照。 README 連結到英文和西班牙文的使用者指南、入門指南、設定、網頁主控台、架構和開發者指南。文件的 PDF 版本可在網站和發布頁面取得。列出的已測試平台包括 Fedora 42+、RHEL 10.x、Rocky Linux 10.x、AlmaLinux 10.x、FreeBSD 和 OpenBSD。README 未說明這些作業系統除了已列版本之外的其他版本,也未提及任何其他平台。(第 4 節的專案脈絡) ystemd、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 實現(針對 pgmoneta-pgmoneta 的第 4 項核對) 在 pgmoneta-pgmoneta 的脈絡下,這一節的判斷不是把 README 改寫成宣傳語,而是指出條件如何影響使用。請把 pgmoneta-pgmoneta、README、實際命令與輸出放在同一份紀錄中,檢查輸入是否被正確接受、結果是否符合文件描述,以及限制是否在你的平台重現。這個核對點只對應本節的 命令,不把其他專案的經驗移植過來。
架構與內部設計:適用範圍
pgmoneta-pgmoneta 的取捨最後取決於你的輸入和部署環境。適合需要 README 所列能力、能接受其平台與成熟度限制的人;若需求落在文件未說明的範圍,應先把缺口視為未知,而不是自行補上。 根據概述部分,pgmoneta 使用行程模型、跨行程共享記憶體模型、libev 實現快速網路互動,以及原子操作來追蹤狀態。架構文件提供了更多細節的連結。README 未提供除這四點之外的其他實作細節。(第 5 節的專案脈絡) 快速網路互動,以及原子操作來追蹤狀態。架構文件提供了更多細節的連結。README 未提供除這四點之外的其他實作細節。
相關專案包括 pgmoneta_mcp,它是 pgmoneta 的 Model Context Protocol 伺服器,讓 AI 助手能夠與備份和還原操作互動。該專案由 mnemosyne systems 贊助。社群管道包括網站和 X/Twitter 帳號。授權為 BSD-3-Clause。授權文字授予以原始碼和二進位形式重新散布和使用該軟體的權利,條件包括保留版權聲明和免責聲明,並禁止未經事先書面許可使用版權持有者的名稱來背書或推廣衍生品。該軟體按「AS IS」提供,不提供任何形式的保證。授權未提及安全狀況、支援或效能。(針對 pgmoneta-pgmoneta 的第 5 項核對) 在 pgmoneta-pgmoneta 的脈絡下,這一節的判斷不是把 README 改寫成宣傳語,而是指出條件如何影響使用。請把 pgmoneta-pgmoneta、README、實際命令與輸出放在同一份紀錄中,檢查輸入是否被正確接受、結果是否符合文件描述,以及限制是否在你的平台重現。這個核對點只對應本節的 範圍,不把其他專案的經驗移植過來。
編輯結論
pgmoneta 為 PostgreSQL 備份與還原提供了廣泛的功能,並有明確的安裝路徑與架構說明。README 未包含效能基準或生產案例,這些仍有待驗證。 適合需要 pgmoneta-pgmoneta README 所列能力、並能接受文件範圍的人;不適合把未說明的行為當成保證。先依 README 的專屬命令、設定或檔案完成一個最小案例,逐項觀察輸出與錯誤,再決定是否放進正式流程。
社群筆記