最近需要將postgres導(dǎo)出數(shù)據(jù)文件,用pgAdmin倒騰了半天還是沒(méi)有成功,最終用postgre的命令來(lái)實(shí)現(xiàn)了導(dǎo)出sql文件,操作如下:
進(jìn)入postgres安裝目錄的bin目錄下
如我的是windows:
? ??????C:\Program Files\PostgreSQL\10\bin
開(kāi)始執(zhí)行pg_dump命令:
? ??用法:? pg_dump [選項(xiàng)]... [數(shù)據(jù)庫(kù)名字]
一般選項(xiàng):
? -f, --file=FILENAME ? ? ? ? ?輸出文件或目錄名
? -F, --format=c|d|t|p ? ? ? ? 輸出文件格式 (定制, 目錄, tar)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?明文 (默認(rèn)值))
? -v, --verbose ? ? ? ? ? ? ? ?詳細(xì)模式
? -V, --version ? ? ? ? ? ? ? ?輸出版本信息,然后退出
? -Z, --compress=0-9 ? ? ? ? ? 被壓縮格式的壓縮級(jí)別
? --lock-wait-timeout=TIMEOUT ?在等待表鎖超時(shí)后操作失敗
? -?, --help ? ? ? ? ? ? ? ? ? 顯示此幫助, 然后退出
控制輸出內(nèi)容選項(xiàng):
? -a, --data-only ? ? ? ? ? ? ?只轉(zhuǎn)儲(chǔ)數(shù)據(jù),不包括模式
? -b, --blobs ? ? ? ? ? ? ? ? ?在轉(zhuǎn)儲(chǔ)中包括大對(duì)象
? -c, --clean ? ? ? ? ? ? ? ? ?在重新創(chuàng)建之前,先清除(刪除)數(shù)據(jù)庫(kù)對(duì)象
? -C, --create ? ? ? ? ? ? ? ? 在轉(zhuǎn)儲(chǔ)中包括命令,以便創(chuàng)建數(shù)據(jù)庫(kù)
? -E, --encoding=ENCODING ? ? ?轉(zhuǎn)儲(chǔ)以ENCODING形式編碼的數(shù)據(jù)
? -n, --schema=SCHEMA ? ? ? ? ?只轉(zhuǎn)儲(chǔ)指定名稱的模式
? -N, --exclude-schema=SCHEMA ?不轉(zhuǎn)儲(chǔ)已命名的模式
? -o, --oids ? ? ? ? ? ? ? ? ? 在轉(zhuǎn)儲(chǔ)中包括 OID
? -O, --no-owner ? ? ? ? ? ? ? 在明文格式中, 忽略恢復(fù)對(duì)象所屬者
? -s, --schema-only ? ? ? ? ? ?只轉(zhuǎn)儲(chǔ)模式, 不包括數(shù)據(jù)
? -S, --superuser=NAME ? ? ? ? 在明文格式中使用指定的超級(jí)用戶名
? -t, --table=TABLE ? ? ? ? ? ?只轉(zhuǎn)儲(chǔ)指定名稱的表
? -T, --exclude-table=TABLE ? ?不轉(zhuǎn)儲(chǔ)指定名稱的表
? -x, --no-privileges ? ? ? ? ?不要轉(zhuǎn)儲(chǔ)權(quán)限 (grant/revoke)
? --binary-upgrade ? ? ? ? ? ? 只能由升級(jí)工具使用
? --column-inserts ? ? ? ? ? ? 以帶有列名的INSERT命令形式轉(zhuǎn)儲(chǔ)數(shù)據(jù)
? --disable-dollar-quoting ? ? 取消美元 (符號(hào)) 引號(hào), 使用 SQL 標(biāo)準(zhǔn)引號(hào)
? --disable-triggers ? ? ? ? ? 在只恢復(fù)數(shù)據(jù)的過(guò)程中禁用觸發(fā)器
? --exclude-table-data=TABLE ? 不轉(zhuǎn)儲(chǔ)指定名稱的表中的數(shù)據(jù)
? --inserts ? ? ? ? ? ? ? ? ? ?以INSERT命令,而不是COPY命令的形式轉(zhuǎn)儲(chǔ)數(shù)據(jù)
? --no-security-labels ? ? ? ? 不轉(zhuǎn)儲(chǔ)安全標(biāo)簽的分配
? --no-tablespaces ? ? ? ? ? ? 不轉(zhuǎn)儲(chǔ)表空間分配信息
? --no-unlogged-table-data ? ? 不轉(zhuǎn)儲(chǔ)沒(méi)有日志的表數(shù)據(jù)
? --quote-all-identifiers ? ? ?所有標(biāo)識(shí)符加引號(hào),即使不是關(guān)鍵字
? --section=SECTION ? ? ? ? ? ?備份命名的節(jié) (數(shù)據(jù)前, 數(shù)據(jù), 及 數(shù)據(jù)后)
? --serializable-deferrable ? 等到備份可以無(wú)異常運(yùn)行
? --use-set-session-authorization
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?使用 SESSION AUTHORIZATION 命令代替
? ? ? ? ? ? ? ? ALTER OWNER 命令來(lái)設(shè)置所有權(quán)
聯(lián)接選項(xiàng):
? -h, --host=主機(jī)名 ? ? ? ?數(shù)據(jù)庫(kù)服務(wù)器的主機(jī)名或套接字目錄
? -p, --port=端口號(hào) ? ? ? ?數(shù)據(jù)庫(kù)服務(wù)器的端口號(hào)
? -U, --username=名字 ? ? ?以指定的數(shù)據(jù)庫(kù)用戶聯(lián)接
? -w, --no-password ? ? ? ?永遠(yuǎn)不提示輸入口令
? -W, --password ? ? ? ? ? 強(qiáng)制口令提示 (自動(dòng))
? --role=ROLENAME ? ? ? ? ?在轉(zhuǎn)儲(chǔ)前運(yùn)行SET ROLE
作者:不用加班的程序員
鏈接:https://www.jianshu.com/p/6b064c2ccf91
來(lái)源:簡(jiǎn)書(shū)
簡(jiǎn)書(shū)著作權(quán)歸作者所有,任何形式的轉(zhuǎn)載都請(qǐng)聯(lián)系作者獲得授權(quán)并注明出處。
導(dǎo)入導(dǎo)出sql數(shù)據(jù)
一.導(dǎo)出數(shù)據(jù)庫(kù)及具體表
1.導(dǎo)出數(shù)據(jù)庫(kù):方式一:pg_dump -U postgres -f c:\db.sql postgis
方式二:pg_dump -U postgres postgis > c:\db.sql
2.導(dǎo)入數(shù)據(jù)庫(kù):方式一:psql -d postgis -f c:\db.sql postgres
3.導(dǎo)出具體表:方式一:pg_dump -Upostgres -t mytable -f dump.sql postgres
4.導(dǎo)入具體表:方式一:psql -d postgis -f c:\ dump.sql postgres
參數(shù):
postgres:用戶
postgis:數(shù)據(jù)庫(kù)名稱
mytable:表名稱
-f, --file=文件名: 輸出文件名
-U, --username=名字:以指定的數(shù)據(jù)庫(kù)用戶聯(lián)接
二.導(dǎo)出數(shù)據(jù)格式詳解
用法:
pg_dump [選項(xiàng)]... [數(shù)據(jù)庫(kù)名字]
一般選項(xiàng):
-f, --file=文件名 輸出文件名
-F, --format=c|t|p 輸出文件格式 (定制,tar, 明文)
-v, --verbose 詳細(xì)模式
-Z, --compress=0-9 被壓縮格式的壓縮級(jí)別
--lock-wait-timeout=TIMEOUT 在等待表鎖超時(shí)后操作失敗
--help 顯示此幫助信息,然后退出
--versoin 輸出版本信息,然后退出
控制輸出內(nèi)容選項(xiàng):
-a, --data-only 只轉(zhuǎn)儲(chǔ)數(shù)據(jù),不包括模式
-b, --blobs 在轉(zhuǎn)儲(chǔ)中包括大對(duì)象
-c, --clean 在重新創(chuàng)建之前,先清除(刪除)數(shù)據(jù)庫(kù)對(duì)象
-C, --create 在轉(zhuǎn)儲(chǔ)中包括命令,以便創(chuàng)建數(shù)據(jù)庫(kù)
-E, --encoding=ENCODING 轉(zhuǎn)儲(chǔ)以ENCODING形式編碼的數(shù)據(jù)
-n, --schema=SCHEMA 只轉(zhuǎn)儲(chǔ)指定名稱的模式
-N,--exclude-schema=SCHEMA 不轉(zhuǎn)儲(chǔ)已命名的模式
-o, --oids 在轉(zhuǎn)儲(chǔ)中包括OID
-O, --no-owner 在明文格式中,忽略恢復(fù)對(duì)象所屬者
-s, --schema-only 只轉(zhuǎn)儲(chǔ)模式,不包括數(shù)據(jù)
-S, --superuser=NAME 在轉(zhuǎn)儲(chǔ)中, 指定的超級(jí)用戶名
-t, --table=TABLE 只轉(zhuǎn)儲(chǔ)指定名稱的表
-T, --exclude-table=TABLE 只轉(zhuǎn)儲(chǔ)指定名稱的表
-x, --no-privileges 不要轉(zhuǎn)儲(chǔ)權(quán)限 (grant/revoke)
--binary-upgrade 只能由升級(jí)工具使用
--inserts 以INSERT命令,而不是COPY命令的形式轉(zhuǎn)儲(chǔ)數(shù)據(jù)
--column-inserts 以帶有列名的INSERT命令形式轉(zhuǎn)儲(chǔ)數(shù)據(jù)
--disable-dollar-quoting 取消美元 (符號(hào))引號(hào), 使用 SQL 標(biāo)準(zhǔn)引號(hào)
--disable-triggers 在只恢復(fù)數(shù)據(jù)的過(guò)程中禁用觸發(fā)器
--no-tablespaces 不轉(zhuǎn)儲(chǔ)表空間分配信息
--role=ROLENAME 在轉(zhuǎn)儲(chǔ)前運(yùn)行SETROLE
--use-set-session-authorization
使用 SESSION AUTHORIZATION 命令代替
ALTER OWNER 命令來(lái)設(shè)置所有權(quán)
聯(lián)接選項(xiàng):
-h, --host=主機(jī)名 數(shù)據(jù)庫(kù)服務(wù)器的主機(jī)名或套接字目錄
-p, --port=端口號(hào) 數(shù)據(jù)庫(kù)服務(wù)器的端口號(hào)
-U, --username=名字 以指定的數(shù)據(jù)庫(kù)用戶聯(lián)接
-w, --no-password 永遠(yuǎn)不提示輸入口令
-W, --password 強(qiáng)制口令提示 (自動(dòng))
當(dāng)前標(biāo)題:postgresSQL導(dǎo)出數(shù)據(jù)
URL鏈接:
http://weahome.cn/article/jicoos.html