🛠️ PostgreSQL Backup/Restore Tool 使用介紹
Copyright Notice: This article is an original work licensed under the CC 4.0 BY-NC-ND license.
If you wish to repost this article, please include the original source link and this copyright notice.
Source link: https://v2know.com/article/1146
🛠️ 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 執行環境(可透過
dotnetCLI 執行或以 WinForms 發佈為應用程式)
✅ 功能一覽
| 功能 | 說明 |
|---|---|
| 🔌 連線測試 | 測試與 PostgreSQL 資料庫連線是否成功 |
| 💾 資料庫備份 | 支援 .sql(Plain)與 .dump(Custom)格式 |
| ♻️ 資料庫還原 | 自動選擇 psql 或 pg_restore 執行還原 |
| 🧹 清除/刪除 Schema | 還原前可選擇刪除或重建特定 schema |
| 🔨 終止連線 | 一鍵中斷資料庫的其他連線 |
| 📝 操作日誌 | 日誌窗格即時顯示執行命令與回應結果 |
| 💾 設定保存 | 自動記住最近使用的連線資訊與歷史記錄 |
📖 使用說明
1️⃣ 連線資料庫
-
在「連線設定」中輸入連線字串(Host、Port、Username、Password、Database)。
-
點擊【連線測試】,成功後會載入可用 schema。
2️⃣ 備份資料庫
-
點擊【瀏覽】,選擇要儲存的備份檔案(
.sql或.dump)。 -
選擇格式:
-
🔹 Plain SQL:產出
.sql檔,含DROP/CREATE DATABASE語句。 -
🔸 Custom Format:產出
.dump檔,供pg_restore使用。
-
-
點擊【備份】開始執行。
3️⃣ 還原資料庫
-
點擊【瀏覽】,選擇欲還原的
.sql或.dump檔案。 -
工具將自動依檔案格式選擇還原方式:
-
.sql→ 使用psql還原 -
.dump→ 使用pg_restore還原
-
-
若使用
.sql:-
可選擇是否刪除(Drop)或重建(Clean)特定 schema
-
不建議勾選 public schema 除非明確知道後果
-
-
點擊【還原】開始執行。
💡 .sql 備份內已包含 DROP/CREATE 指令,一般不建議勾選任何 schema 操作。
4️⃣ 終止連線
-
點擊【Kill Sessions】會中止所有其他使用該資料庫的連線。
-
用於排除鎖定或強制執行還原作業前清場。
⚠️ 注意事項(備份/還原重要說明)
🔄 .sql(Plain SQL)備份還原時
-
.sql檔通常包含DROP和CREATE語句,例如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_dump、pg_restore、psql:需可於系統環境變數中呼叫(PostgreSQL 安裝時自帶)。
This article was last edited at