1.打開cmd,輸入導出數據庫命令
pg_dump -h 30.21.227.163 -U postgres -Fc ?postgresdb > C:\huyunan\postgresdb.dmp
//?postgres 是用戶名,postgresdb 是數據庫名
-n :可以指定schema名稱
-p :可以指定端口號
2.在本地新建個數據庫test
create database test
3.將導出的數據庫導入到本地
pg_restore -h localhost -U postgres -d test < C:\huyunan\postgresdb.dmp
用法:
? pg_dump [選項]... [數據庫名字]
一般選項:
? -f, --file=FILENAME? ? ? ? ? 輸出文件或目錄名
? -F, --format=c|d|t|p? ? ? ? 輸出文件格式 (定制, 目錄, tar)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 明文 (默認值))
? -j, --jobs=NUM? ? ? ? ? ? ? 執行多個并行任務進行備份轉儲工作
? -v, --verbose? ? ? ? ? ? ? ? 詳細模式
? -V, --version? ? ? ? ? ? ? ? 輸出版本信息,然后退出
? -Z, --compress=0-9? ? ? ? ? 被壓縮格式的壓縮級別
? --lock-wait-timeout=TIMEOUT? 在等待表鎖超時后操作失敗
? --no-sync? ? ? ? ? ? ? ? ? ? do not wait for changes to be written safely to disk
? -?, --help? ? ? ? ? ? ? ? ? 顯示此幫助, 然后退出
控制輸出內容選項:
? -a, --data-only? ? ? ? ? ? ? 只轉儲數據,不包括模式
? -b, --blobs? ? ? ? ? ? ? ? ? 在轉儲中包括大對象
? -B, --no-blobs? ? ? ? ? ? ? exclude large objects in dump
? -c, --clean? ? ? ? ? ? ? ? ? 在重新創建之前,先清除(刪除)數據庫對象
? -C, --create? ? ? ? ? ? ? ? 在轉儲中包括命令,以便創建數據庫
? -E, --encoding=ENCODING? ? ? 轉儲以ENCODING形式編碼的數據
? -n, --schema=SCHEMA? ? ? ? ? 只轉儲指定名稱的模式
? -N, --exclude-schema=SCHEMA? 不轉儲已命名的模式
? -o, --oids? ? ? ? ? ? ? ? ? 在轉儲中包括 OID
? -O, --no-owner? ? ? ? ? ? ? 在明文格式中, 忽略恢復對象所屬者
? -s, --schema-only? ? ? ? ? ? 只轉儲模式, 不包括數據
? -S, --superuser=NAME? ? ? ? 在明文格式中使用指定的超級用戶名
? -t, --table=TABLE? ? ? ? ? ? 只轉儲指定名稱的表
? -T, --exclude-table=TABLE? ? 不轉儲指定名稱的表
? -x, --no-privileges? ? ? ? ? 不要轉儲權限 (grant/revoke)
? --binary-upgrade? ? ? ? ? ? 只能由升級工具使用
? --column-inserts? ? ? ? ? ? 以帶有列名的INSERT命令形式轉儲數據
? --disable-dollar-quoting? ? 取消美元 (符號) 引號, 使用 SQL 標準引號
? --disable-triggers? ? ? ? ? 在只恢復數據的過程中禁用觸發器
? --enable-row-security? ? ? ? 啟用行安全性(只轉儲用戶能夠訪問的內容)
? --exclude-table-data=TABLE? 不轉儲指定名稱的表中的數據
? --if-exists? ? ? ? ? ? ? 當刪除對象時使用IF EXISTS
? --inserts? ? ? ? ? ? ? ? ? ? 以INSERT命令,而不是COPY命令的形式轉儲數據
? --no-publications? ? ? ? ? ? do not dump publications
? --no-security-labels? ? ? ? 不轉儲安全標簽的分配
? --no-subscriptions? ? ? ? ? do not dump subscriptions
? --no-synchronized-snapshots? 在并行工作集中不使用同步快照
? --no-tablespaces? ? ? ? ? ? 不轉儲表空間分配信息
? --no-unlogged-table-data? ? 不轉儲沒有日志的表數據
? --quote-all-identifiers? ? ? 所有標識符加引號,即使不是關鍵字
? --section=SECTION? ? ? ? ? ? 備份命名的節 (數據前, 數據, 及 數據后)
? --serializable-deferrable? 等到備份可以無異常運行
? --snapshot=SNAPSHOT? ? ? ? ? 為轉儲使用給定的快照
? --strict-names? ? ? ? ? ? ? 要求每個表和/或schema包括模式以匹配至少一個實體
? --use-set-session-authorization
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 使用 SESSION AUTHORIZATION 命令代替
? ? ? ? ? ? ? ? ALTER OWNER 命令來設置所有權
聯接選項:
? -d, --dbname=DBNAME? ? ? 對數據庫 DBNAME備份
? -h, --host=主機名? ? ? ? 數據庫服務器的主機名或套接字目錄
? -p, --port=端口號? ? ? ? 數據庫服務器的端口號
? -U, --username=名字? ? ? 以指定的數據庫用戶聯接
? -w, --no-password? ? ? ? 永遠不提示輸入口令
? -W, --password? ? ? ? ? 強制口令提示 (自動)
? --role=ROLENAME? ? ? ? ? 在轉儲前運行SET ROLE
如果沒有提供數據庫名字, 那么使用 PGDATABASE 環境變量
的數值.