邏輯備份與還原
pg_dump.exe邏輯備份
- 是用戶端工具
- 產生的是標準的sql檔案。
- 可以選擇 打包、壓縮、自訂格式的不同的輸出形式
- 資料一致的,因為postgresql資料庫是mvc特性的
與pg_dump.exe輸出備份之對應的還原
- 何種輸出就需要何種逆向操作,最終就是要獲得標準的sql輸入
pg_dump.exe的選項 pg_dump [選項]... [資料庫名字]
- pg_dump.exe --no-owner --no-privileges --create
- pg_dump.exe --no-owner --no-privileges --create --inserts
一般選項:
-f, --file=檔案名稱 輸出檔案名
-F, --format=c|t|p 輸出檔案格式 (定製, tar, 明文)
-i, --ignore-version 當伺服器的版本號碼與 pg_dump 的版本號碼不匹配時仍繼續運行
-v, --verbose 詳細模式
-Z, --compress=0-9 被壓縮格式的壓縮層級
--help 顯示此協助資訊, 然後退出
--version 輸出版本資訊, 然後退出
控制輸出內容選項:
-a, --data-only dump only the data, not the schema --僅備份資料。用於還原的資料庫和備份的資料庫結構完全一致時!
-s, --schema-only dump only the schema, no data --僅備份結構。用於產生結構指令碼
-c, --clean clean (drop) schema prior to create --重建目標表。和--create是不相容選項。被還原的庫應該存在!!
-C, --create include commands to create database in dump --建立資料庫,用於建立完全的備份。和--clean是不相容選項。一般情況下,該選項不起作用!!
-O, --no-owner skip restoration of object ownershipin plain text format
-x, --no-privileges do not dump privileges (grant/revoke)
-t, --table=TABLE dump the named table(s) only
-T, --exclude-table=TABLE do NOT dump the named table(s)
-n, --schema=SCHEMA dump the named schema(s) only --指定要匯出的構架
-N, --exclude-schema=SCHEMA do NOT dump the named schema(s) --指定要排除的構架
-b, --blobs include large objects in dump
-d, --inserts dump data as INSERT commands, rather than COPY
-D, --column-inserts dump data as INSERT commands with column names
-E, --encoding=ENCODING dump the data in encoding ENCODING
-o, --oids include OIDs in dump
-S, --superuser=NAME specify the superuser user name to use in plain text format
--disable-dollar-quoting disable dollar quoting, use SQL standard quoting
--disable-triggers disable triggers during data-only restore
--use-set-session-authorization use SESSION AUTHORIZATION commands instead of ALTER OWNER commands to set ownership
聯結選項:
-h, --host=主機名稱 資料庫伺服器的主機名稱或通訊端目錄
-p, --port=連接埠號碼 資料庫伺服器的連接埠號碼
-U, --username=名字 以指定的資料庫使用者聯結
-W, --password 強制口令提示 (自動)
如果沒有提供資料庫名字, 那麼使用 PGDATABASE 環境變數
的數值.