Postgresql
僅備份一個架構並將其還原到另一台伺服器上
我有一個名為“A”的數據庫,它有兩個模式“B”和“C”。
我想在不同的伺服器上備份和恢復模式“B”(包括數據)。不知道如何做到這一點,因為我是 Postgres 的新手。
我是否必須在名稱為“A”的新伺服器上創建一個新數據庫,然後在其上恢復架構“B”?
請幫助使用必要的命令。
在 Ubuntu 12.04 上執行的 PostgreSQL 9.1
您可以使用
-n
pg_dump 選項選擇要轉儲的模式。創建模式 B 的轉儲:pg_dump ...other...options... -Fc -n B >dump.dmp
恢復轉儲文件:
pg_restore -d somedb dump.dmp
目標數據庫不必與原始數據庫同名。
請注意,如果模式 B 依賴於模式 C,您將遇到問題。那麼您將無法單獨恢復它。
另請注意,在轉儲一個模式時,您不會轉儲 blob(LOB 類型)。使用
-b
選項與 blob 一起轉儲。添加所有 blob ,-b
而不僅僅是單個模式。
可以添加參數
-n [schema name]
這個參數的註釋說:-n schema --schema=schema
僅轉儲與模式匹配的模式;這將選擇模式本身及其所有包含的對象。如果未指定此選項,則將轉儲目標數據庫中的所有非系統模式。