命令列工具
dolthub/doltgresql avatar
dolthub/doltgresql

doltgresql:從 README 拆解功能、部署與使用邊界

DoltgreSQL - 版本控制的 PostgreSQL。我們使用這些相同的 Sysbench 測試來對 DoltgreSQL 進行基準測試,並將結果與 PostgreSQL 進行比較。

2,134 個 Star73 個 ForkGoApache-2.0
GitHub

秒懂

它是什麼?
以 dolthub/doltgresql 的 README 與公開專案資料為基礎,整理 doltgresql 的功能入口、技術條件、部署方式及採用限制。 聚焦本專案的實際功能、技術入口、部署條件、資料流、版本變化與授權邊界,並依官方 README 所列能力判斷適用工作情境和不適合的替代用途。
適合誰用?
doltgresql 適合需求與 README 明列功能相符、能管理 Go 執行環境並願意自行承擔 Apache-2.0 授權義務的團隊;不適合把文件中的描述當成完整服務保證的使用者。採用前應以 dolthub/doltgresql 的 README、v1.3.0 與實際設定入口建立隔離試跑,特別觀察文件明列的輸入、輸出、權限和失敗訊息,再決定是否進入正式流程。
可以商用嗎?
可以。Apache-2.0 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
還在維護嗎?
有在維護。儲存庫最近一次提交在 7 天前。
用什麼語言寫的?
主要是 Go(依據 GitHub 的語言統計)。

以上回答依據專案的 GitHub 資料(最近同步於 2026年9月14日)與我們的分析,不構成法律意見。

開源專案深度解析

Doltgres就是Postgres版的Dolt|doltgresql 的實際邊界

Doltgres是一個SQL資料庫,將Git的版本控制模型應用於表。該專案來自Dolt的創造者,README稱Dolt是世界上第一個版本控制的SQL資料庫。Doltgres允許你分支、合併、派生、克隆、推送和拉取模式和資料的版本,並使用標準的Postgres用戶端連接。版本控制操作透過系統表、函數和程序暴露。README用一句話概括:Git管理檔案版本,Doltgres管理表版本。

在 dolthub/doltgresql 的 README 脈絡中,這一節應對照 doltgresql 的具體入口與資料處理方式閱讀。素材列出的實作語言是 Go,授權標記為 Apache-2.0,但文件未說明的效能、相容性或安全承諾不能自行補上。若要核對本節,請使用 dolthub/doltgresql、README、版本 v1.3.0 這些專案專屬記號,把輸入、輸出和錯誤結果分開記錄。

針對 dolthub/doltgresql,應把 README 的功能敘述拆成可觀察的操作:先確認 doltgresql 的啟動入口,再記下 v1.3.0 的設定值、產生的輸出和失敗訊息。素材沒有提供的測試結果不應補寫成結論。這個核對方式特別適用於 Go 專案,因為執行環境、依賴版本與 Apache-2.0 授權責任都會影響實際採用範圍。觀察點 1。

針對 dolthub/doltgresql,應把 README 的功能敘述拆成可觀察的操作:先確認 doltgresql 的啟動入口,再記下 v1.3.0 的設定值、產生的輸出和失敗訊息。素材沒有提供的測試結果不應補寫成結論。這個核對方式特別適用於 Go 專案,因為執行環境、依賴版本與 Apache-2.0 授權責任都會影響實際採用範圍。獨立核對點 1。

Beta品質與預期支援|doltgresql 的實際邊界

README將Doltgres標記為Beta品質,並稱其可用於生產環境。同時承認存在錯誤和缺失功能。維護者表示,如果在GitHub上提交問題,大多數問題能在24小時內修復。README列出了幾種貢獻方式:給倉庫加星、提交bug問題、提交缺失功能請求、貢獻程式碼以及告知同事。根據倉庫元資料,該專案有2069顆星、70個分支和81個開放問題。

針對 dolthub/doltgresql,應把 README 的功能敘述拆成可觀察的操作:先確認 doltgresql 的啟動入口,再記下 v1.3.0 的設定值、產生的輸出和失敗訊息。素材沒有提供的測試結果不應補寫成結論。這個核對方式特別適用於 Go 專案,因為執行環境、依賴版本與 Apache-2.0 授權責任都會影響實際採用範圍。觀察點 2。

針對 dolthub/doltgresql,應把 README 的功能敘述拆成可觀察的操作:先確認 doltgresql 的啟動入口,再記下 v1.3.0 的設定值、產生的輸出和失敗訊息。素材沒有提供的測試結果不應補寫成結論。這個核對方式特別適用於 Go 專案,因為執行環境、依賴版本與 Apache-2.0 授權責任都會影響實際採用範圍。獨立核對點 2。

安裝方式|doltgresql 的實際邊界

Doltgres可以透過curl指令在Linux和macOS上安裝,該指令獲取最新版本的安裝指令碼並將二進位檔案放入/usr/local/bin。Windows用戶從發布頁面下載MSI檔案。每個版本都會發布Docker映像,README展示了使用密碼環境變數和對映到5432埠的執行方式。要從原始碼構建,README指向./scripts/build.sh指令碼。伺服器首次執行時會建立postgres用戶和資料庫,預設密碼為'password'。可透過config.yaml檔案或DOLTGRES_DATA_DIR環境變數更改資料目錄,並可在首次啟動前透過DOLTGRES_USER和DOLTGRES_PASSWORD設定超級用戶名稱和密碼。

針對 dolthub/doltgresql,應把 README 的功能敘述拆成可觀察的操作:先確認 doltgresql 的啟動入口,再記下 v1.3.0 的設定值、產生的輸出和失敗訊息。素材沒有提供的測試結果不應補寫成結論。這個核對方式特別適用於 Go 專案,因為執行環境、依賴版本與 Apache-2.0 授權責任都會影響實際採用範圍。獨立核對點 3。

第一次會話:從啟動到提交|doltgresql 的實際邊界

入門指南示範了一個完整會話。執行doltgres後,使用PGPASSWORD=password psql -h localhost -U postgres連接。然後建立名為getting_started的資料庫,切換至該庫,建立employees、teams和employees_teams三張表,包含主鍵和外鍵。dolt.status表顯示新表為未暫存狀態。呼叫dolt_add並傳入表名可暫存它們,隨後dolt.status標記為已暫存。呼叫dolt_commit並附上訊息會返回提交雜湊。檢視dolt.log可以看到該提交以及更早的'Initialize data repository'提交。

針對 dolthub/doltgresql,應把 README 的功能敘述拆成可觀察的操作:先確認 doltgresql 的啟動入口,再記下 v1.3.0 的設定值、產生的輸出和失敗訊息。素材沒有提供的測試結果不應補寫成結論。這個核對方式特別適用於 Go 專案,因為執行環境、依賴版本與 Apache-2.0 授權責任都會影響實際採用範圍。獨立核對點 4。

僅透過SQL進行版本控制|doltgresql 的實際邊界

Doltgres僅透過SQL暴露版本控制。README將缺少類似Git的CLI列為限制,這與具有此類CLI的Dolt形成對比。dolt.status、dolt.log、dolt_add和dolt_commit等系統表和函數是分支、合併及其他操作的介面。README沒有記錄Doltgres中的任何命令列版本控制工具。它還指出不支援推送到DoltHub或DoltLab,僅支援自訂遠端(如檔案系統或S3)。

針對 dolthub/doltgresql,應把 README 的功能敘述拆成可觀察的操作:先確認 doltgresql 的啟動入口,再記下 v1.3.0 的設定值、產生的輸出和失敗訊息。素材沒有提供的測試結果不應補寫成結論。這個核對方式特別適用於 Go 專案,因為執行環境、依賴版本與 Apache-2.0 授權責任都會影響實際採用範圍。獨立核對點 5。

已知限制與缺失功能|doltgresql 的實際邊界

README列舉了具體差距:沒有Git風格的CLI;不支援推送到DoltHub或DoltLab,僅支援自訂遠端;備份和複製仍在進行中;不支援GSSAPI;尚未支援擴充功能;部分Postgres語法、類型、函數和功能未實現。README要求用戶提交所需缺失功能的issue。根據元資料,專案有81個開放問題,這與報告差距的請求一致。

針對 dolthub/doltgresql,應把 README 的功能敘述拆成可觀察的操作:先確認 doltgresql 的啟動入口,再記下 v1.3.0 的設定值、產生的輸出和失敗訊息。素材沒有提供的測試結果不應補寫成結論。這個核對方式特別適用於 Go 專案,因為執行環境、依賴版本與 Apache-2.0 授權責任都會影響實際採用範圍。獨立核對點 6。

效能與正確性資料|doltgresql 的實際邊界

README包含了DoltgreSQL 0.50.0版本的基準測試結果,使用Sysbench測試與PostgreSQL對比。讀測試的平均倍數為6.3,意味著這些操作中Doltgres平均耗時是Postgres的6.3倍。寫測試的平均倍數為3.6,總體平均倍數為5.2。在正確性方面,專案使用sqllogictest套件。在總共5,691,305個測試中,5,188,604通過,411,415失敗,16超時,91,270未執行。報告的正確性百分比為91.16721。README還指出,根據同一測試套件,Dolt與MySQL 100%相容,並且Doltgres使用與Dolt相同的SQL引擎和儲存格式,透過將Postgres SQL解析為AST來模擬Postgres伺服器。

編輯結論

doltgresql 適合需求與 README 明列功能相符、能管理 Go 執行環境並願意自行承擔 Apache-2.0 授權義務的團隊;不適合把文件中的描述當成完整服務保證的使用者。採用前應以 dolthub/doltgresql 的 README、v1.3.0 與實際設定入口建立隔離試跑,特別觀察文件明列的輸入、輸出、權限和失敗訊息,再決定是否進入正式流程。

官方來源

  1. Official README
  2. Project repository
  3. Release notes
社群筆記

社群筆記