🛠️ PostgreSQL Backup/Restore Tool 使用介紹

| Application program | 2 Reads

🛠️ PostgreSQL Backup/Restore Tool 使用介紹

本工具是一套 圖形化介面 的 PostgreSQL 備份與還原工具,支援標準 SQL(Plain SQL)與自訂格式(Custom Format)的備份與還原操作,設計簡潔、使用直觀,適合資料庫管理員與開發人員日常維護使用。

📦 GitHub 專案
🔗 https://github.com/Chrono-Divide/PgBackupRestoreTool


 

🛠 系統需求

  • PostgreSQL 安裝套件(需包含 pg_dump, pg_restore, psql

  • .NET 8 執行環境(可透過 dotnet CLI 執行或以 WinForms 發佈為應用程式)


✅ 功能一覽

功能 說明
🔌 連線測試 測試與 PostgreSQL 資料庫連線是否成功
💾 資料庫備份 支援 .sql(Plain)與 .dump(Custom)格式
♻️ 資料庫還原 自動選擇 psqlpg_restore 執行還原
🧹 清除/刪除 Schema 還原前可選擇刪除或重建特定 schema
🔨 終止連線 一鍵中斷資料庫的其他連線
📝 操作日誌 日誌窗格即時顯示執行命令與回應結果
💾 設定保存 自動記住最近使用的連線資訊與歷史記錄

📖 使用說明

1️⃣ 連線資料庫

  1. 在「連線設定」中輸入連線字串(Host、Port、Username、Password、Database)。

  2. 點擊【連線測試】,成功後會載入可用 schema。


2️⃣ 備份資料庫

  1. 點擊【瀏覽】,選擇要儲存的備份檔案(.sql.dump)。

  2. 選擇格式:

    • 🔹 Plain SQL:產出 .sql 檔,含 DROP/CREATE DATABASE 語句。

    • 🔸 Custom Format:產出 .dump 檔,供 pg_restore 使用。

  3. 點擊【備份】開始執行。


3️⃣ 還原資料庫

  1. 點擊【瀏覽】,選擇欲還原的 .sql.dump 檔案。

  2. 工具將自動依檔案格式選擇還原方式:

    • .sql → 使用 psql 還原

    • .dump → 使用 pg_restore 還原

  3. 若使用 .sql

    • 可選擇是否刪除(Drop)或重建(Clean)特定 schema

    • 不建議勾選 public schema 除非明確知道後果

  4. 點擊【還原】開始執行。

💡 .sql 備份內已包含 DROP/CREATE 指令,一般不建議勾選任何 schema 操作


4️⃣ 終止連線

  • 點擊【Kill Sessions】會中止所有其他使用該資料庫的連線。

  • 用於排除鎖定或強制執行還原作業前清場。


⚠️ 注意事項(備份/還原重要說明)

🔄 .sql(Plain SQL)備份還原時

  • .sql 檔通常包含 DROPCREATE 語句,例如 DROP SCHEMA IF EXISTS ...CREATE SCHEMA ... 等。

  • 使用本工具備份產生的 .sql 檔案時,還原時通常不需要勾選任何 checkbox(Clean 或 Drop),因為 SQL 檔內已自帶處理邏輯。

💡 關鍵建議:

dump 檔內容特性 勾選 Drop Schema? 勾選 Clean Schema? 備註
✔ 含有 CREATE SCHEMA ✅ 勾選 Drop ❌ 不勾選 Clean 預設情況,建議直接 Drop 後重新建立
❌ 沒有 CREATE SCHEMA(僅對象定義) ❌ 不勾選 Drop ✅ 勾選 Clean 否則還原時找不到 schema
✔ 含有 DROP IF EXISTS + CREATE 語句組 ❌ 不勾選 ❌ 不勾選 檔案已自處理,無需手動勾選
  • 預設情境下,本工具使用者通常針對自訂 schema(如 admin),每次還原前會 直接 Drop 該 schema 再重建,因此 Drop 是預設常用的作法。

  • 若你還原的是別人提供的 .sql 檔,請先用文字編輯器打開檢查有無 CREATE SCHEMA,再決定要不要勾選。


📦 .dump(Custom Format)備份還原時

  • 還原 .dump 檔案時,會自動使用 pg_restore 並加上 --clean --create不需手動勾選任何 checkbox

  • 所有 .dump 檔案的還原行為在本工具中都是「自動清除並建立資料庫」的模式,不會依賴 UI 選項。

  • 本工具內建進度條與 TOC 分析,可在大型還原作業中提供良好體驗。


💾 備份作業的一致性保證

  • 使用本工具所產生的備份檔(不論是 .sql.dump),均設計為還原時不需勾選任何 Clean 或 Drop schema 的選項

  • 本工具的備份邏輯會主動加入必要的清理/建構語句,確保還原時能獨立運作且不殘留先前狀態。


📁 設定儲存路徑

  • 設定檔(dbconfig.json)儲存於應用程式執行檔相同目錄。

  • 包含連線字串歷史紀錄與最後使用的參數。


🧪 相依工具

  • pg_dumppg_restorepsql:需可於系統環境變數中呼叫(PostgreSQL 安裝時自帶)。

This article was last edited at