🛠️ 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 執行環境(可透過
dotnet
CLI 執行或以 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