PG_DUMP
目录
PG_DUMP
NAMESYNOPSIS
DESCRIPTION æè¿°
OPTIONS é项
ENVIRONMENT ç¯å¢
DIAGNOSTICS è¯æ
NOTES 注æ
EXAMPLES ä¾å
HISTORY åå²
SEE ALSO åè§
è¯è
è·
NAME
pg_dump - å°ä¸ä¸ªPostgreSQLæ°æ®åºæ½åºå°ä¸ä¸ªèæ¬æä»¶æèå¶å®å½æ¡£æä»¶ä¸
SYNOPSIS
pg_dump [ option... ] [ dbname ]
DESCRIPTION æè¿°
pg_dump æ¯ä¸ä¸ªç¨äºå¤ä»½ PostgreSQL æ°æ®åºçå·¥å·ãå®çè³å¯ä»¥å¨æ°æ®åºæ- £å¨å¹¶å使ç¨çæ¶åè¿è¡å®æ´ä¸è´çå¤ä»½ã pg_dump å¹¶ä¸é»å¡å¶å®ç¨æ·å¯¹æ°æ®åºç访é®ï¼è¯»æèåï¼ã
è½¬å¨æ ¼å¼å¯ä»¥æ¯ä¸ä¸ªèæ¬æè彿¡£æä»¶ã è¿ä¸ªèæ¬æä»¶çæ ¼å¼æ¯çº¯ææ¬ï¼å®åå«è®¸å¤ SQL å½ä»¤ï¼ è¿äº SQL å½ä»¤å¯ä»¥ç¨äºéå»ºè¯¥æ°æ®åºå¹¶å°ä¹æ¢å¤å°ä¿åæèæ¬çæ¶åçç¶æã è¦æ¢å¤è¿äºèæ¬ï¼ä½¿ç¨ psql(1)ã å®ä»¬çè³å¯ä»¥ç¨äºå¨å¶å®æºå¨çè³æ¯å¶å®ç¡¬ä»¶ä½ç³»çæºå¨ä¸éå»ºè¯¥æ°æ®åºï¼ éè¿å¯¹èæ¬è¿è¡ä¸äºä¿®æ¹ï¼çè³å¯ä»¥å¨å¶å® SQL æ°æ®åºäº§åä¸éå»ºè¯¥æ°æ®åºã
å¦å¤ï¼è¿æåéç彿¡£æä»¶æ ¼å¼å¯ä»¥å pg_restore(1) ä¸èµ·ä½¿ç¨éå»ºæ°æ®åºï¼ å¹¶ä¸å®ä»¬ä¹å许 pg_restore(1) 对æ¢å¤ä»ä¹ä¸è¥¿è¿è¡éæ©ï¼ æèçè³æ¯å¨æ¢å¤ä¹å对éè¦æ¢å¤çæ¡ç®è¿è¡éæ°æåºã 彿¡£æä»¶ä¹æ¯è®¾è®¡æå¯ä»¥è·¨å¹³å°ç§»æ¤çã
妿ä¸ç§åéæä»¶æ ¼å¼å pg_restore(1) ç»åï¼é£ä¹pg_dumpå°±è½æä¾ä¸ç§çµæ´»ç彿¡£åä¼ è¾æºå¶ã pg_dump å¯ä»¥ç¨äºå¤ä»½æ´ä¸ªæ°æ®åºï¼ ç¶åå°±å¯ä»¥ä½¿ç¨ pg_restore æ£æ¥è¿ä¸ªå½æ¡£å/æéæ©è¦æ¢å¤çæ°æ®åºé¨åã æçµæ´»çè¾åºæä»¶æ ¼å¼æ¯ ‘‘custom(客æ·å)’’ æ ¼å¼ï¼-Fcï¼ã å®åè®¸å¯¹å½æ¡£åç´ è¿è¡éååéæ°æåï¼ å¹¶ä¸ç¼ºçæ¶æ¯å缩çãtar æ ¼å¼ï¼-Ftï¼ä¸æ¯å缩ç并䏿们å¨è£è½½ç- æ¶åä¸å¯è½éæåï¼ ä¸è¿å®ä¹å¾çµæ´»ï¼è¿æï¼å®å¯ä»¥ç¨å¶å®å·¥å·ï¼æ¯å¦ tar å¤çã
å¨è¿è¡ pg_dump çæ¶åï¼æä»¬åºè¯¥æ£æ¥è¾åºï¼ ççæ¯å¦æä»»ä½è¦åå- å¨ï¼å¨æ åéè¯¯ä¸æå°ï¼ï¼ç¹å«æ¯ä¸é¢ååºçéå¶ã
OPTIONS é项
ä¸é¢çå½ä»¤è¡åæ°ç¨äºæ§å¶è¾åºæ ¼å¼ã
|
dbname |
声æå°è¦è½¬å¨çæ°æ®åºåã å¦ææ²¡æå£°æè¿ä¸ªåæ°ï¼é£ä¹ä½¿ç¨ç¯å¢åé PGDATABASEã 妿é£ä¸ªç¯å¢åé乿²¡å£°æï¼é£ä¹ç¨åèµ·è¿æ¥çç¨æ·åã
|
-a |
--data-only
åªè¾åºæ°æ®ï¼ä¸è¾åºç»æï¼è¡¨å®ä¹ï¼ã
è¿ä¸ªéé¡¹åªæ¯å¯¹çº¯ææ¬æ ¼å¼ææä¹ã对äºå¶å®æ ¼å¼ï¼ä½ å¯ä»¥å¨è°ç¨ pg_restore çæ¶å声æé项ã
|
-b |
--blobs
å¨è½¬å¨ä¸åå«å¤§å¯¹è±¡ã
|
-c |
--clean
è¾åºå¨åå»ºæ°æ®åºå建å½ä»¤ä¹å忏çï¼å é¤ï¼è¯¥æ°æ®åºå¯¹è±¡çå½ä»¤ã
è¿ä¸ªéé¡¹åªæ¯å¯¹çº¯ææ¬æ ¼å¼ææä¹ã对äºå¶å®æ ¼å¼ï¼ä½ å¯ä»¥å¨è°ç¨ pg_restore çæ¶å声æé项ã
|
-C |
--create
以䏿¡åå»ºè¯¥æ°æ®åºæ¬èº«å¹¶ä¸ä¸è¿ä¸ªæ°æ®åºèæ¥ç- å½ä»¤å¼å¤´è¿è¡è¾åºã ï¼å¦ææ¯è¿ç§å½¢å¼çèæ¬ï¼é£ä¹ä½å¨è¿è¡èæ¬ä¹åååªä¸ªæ°æ®åºèæ¥å°±ä¸éè¦äºãï¼
è¿ä¸ªé项åªå¯¹çº¯ææ¬æ ¼å¼ææä¹ã对äºå¶å®æ ¼å¼ï¼ä½ å¯ä»¥å¨è°ç¨ pg_restore çæ¶å声æè¯¥é项ã
|
-d |
--inserts
å°æ°æ®è¾åºä¸ºç INSERT å½ä»¤ï¼è䏿¯ COPYï¼ã è¿æ ·ä¼å¯¼è´æ¢å¤éå¸¸ç¼æ¢ãä½å´ä»¤å½æ¡£æ´å®¹æç§»æ¤å°å¶å® SQL æ°æ®åºã
|
-D |
--column-inserts
--attribute-inserts
ææ°æ®è½¬å¨ä¸ºå¸¦ææç¡®å段åç INSERT å½ä»¤ã ï¼INSERT INTO table(column, ...) VALUES ...ï¼ã è¿æ ·ä¼å¯¼è´æ¢å¤éå¸¸ç¼æ¢ï¼ä½æ¯å¦æä½ æ³éæ°æåå- 段ç顺åºï¼é£ä¹å®æ¯å¿é¡»çã
-f file
--file=file
æè¾åºå徿å®çæä»¶ãå¦æå¿½ç¥è¿äºï¼åä½¿ç¨æ åè¾åºã
-F format
--format=format
éæ©è¾åºçæ ¼å¼ãformatå¯ä»¥æ¯ä¸åä¹ä¸ï¼
|
p |
è¾åºçº¯ææ¬SQLèæ¬æä»¶ï¼ç¼ºçï¼
|
t |
è¾åºéåè¾å¥å° pg_restore éçtar彿¡£æä»¶ã 使ç¨è¿ä¸ªå½æ¡£åè®¸å¨æ¢å¤æ°æ®åºæ¶éæ°æåºå/ææè¡¨ç»ææé¤å¨å¤ã åæ¶ä¹å¯è½å¯ä»¥å¨æ¢å¤çæ¶åéå¶å¯¹åªäºæ°æ®è¿è¡æ¢å¤ã
|
c |
è¾åºéäºç» pg_restore ç¨ç客æ·å彿¡£ã è¿æ¯æçµæ´»çæ ¼å¼ï¼å®å许对è£è½½çæ°æ®å纲è¦åç´ è¿è¡éæ°æåã è¿ä¸ªæ ¼å¼ç¼ºççæ¶åæ¯å缩çã
|
-i |
--ignore-version
忽ç¥å¨ pg_dump åæ°æ®åºæå¡å¨ä¹é´ççæ¬å·®å«ã
pg_dump å¯ä»¥å¤çæ¥èªä»¥åçæ¬çPostgreSQL çæ°æ®åºï¼ä½æ¯å¤ªèççæ¬åä¸è¢«æ¯æäºï¼ç®åæ¯æ¯æå° 7.0ï¼ã å¦æä½ éè¦è·¨è¶çæ¬æ£æ¥æ¶æä½¿ç¨è¿ä¸ªéé¡¹ï¼ èä¸å¦ pg_dump 失æï¼å«è¯´ææ²¡è¦åä½ ï¼ã
-n namespace
--schema=schema
åªè½¬å¨ schema çå容ã å¦ææ²¡æå£°æè¿ä¸ªéé¡¹ï¼ææç®æ æ°æ®åºä¸- çéç³»ç»æ¨¡å¼é½ä¼è¢«è½¬å¨åºæ¥ã
Note: 注æ: å¨è¿ä¸ªæ¨¡å¼éï¼pg_dump å¹¶ä¸è¯å¾è½¬å¨ä»»ä½å¶å®é宿¨¡å¼å¯è½ä¾èµçæ°æ®åºå¯¹è±¡ã å æ- ¤ï¼ç³»ç»ä¸ä¿è¯åä¸çä¸ä¸ªæ¨¡å¼ç转å¨å°±å¯ä»¥æåå°æ¢å¤å°ä¸ä¸ªå¹²åçæ°æ®åºä¸- å»ã
|
-o |
||
|
--oids |
为æ¯ä¸ªè¡¨é½è¾åºå¯¹è±¡æ è¯ï¼OIDï¼ã å¦æä½ çåºç¨å¨æç§ç¨åº¦ä¸å¼ç¨äºOIDåæ®µçè¯ï¼ï¼æ¯å¦ï¼å¨å¤é®çº¦æä¸- ç¨å°ï¼ã é£ä¹ä½¿ç¨è¿ä¸ªé项ãå¦åï¼ä¸åºè¯¥ä½¿ç¨è¿ä¸ªé项ã
|
-O |
--no-owner
ä¸æå¯¹è±¡çæææè®¾ç½®ä¸ºå¯¹åºæºæ°æ®åºã By default, pg_dump issues SET SESSION AUTHORIZATION statements to set ownership of created schema elements. These statements will fail when the script is run unless it is started by a superuser (or the same user that owns all of the objects in the script). To make a script that can be restored by any user, but will give that user ownership of all the objects, specify -O.
è¿ä¸ªéé¡¹åªæ¯å¯¹çº¯ææ¬æ ¼å¼ææä¹ã对äºå¶å®æ ¼å¼ï¼å¨ä½ è°ç¨ pg_restore çæ¶åä½ å¯ä»¥å£°æè¯¥é项ã
|
-R |
--no-reconnect
è¿ä¸ªé项已ç»è¿æ¶ï¼ä½æ¯åºäºåä¸å¼å®¹çèèï¼ä»ç¶æ¥åè¿ä¸ªé项ã
|
-s |
--schema-only
åªè¾åºè¡¨çº²è¦ï¼å®ä¹ï¼ï¼ä¸è¾åºæ°æ®ã
-S username
--superuser=username
声æå³é触å卿¶éè¦ç¨å°çè¶çº§ç¨æ·åã å®åªæä½¿ç¨äº --disable-triggers çæ¶åææå³ç³»ã ï¼éå¸¸ï¼æä»¬æå¥½ä¸è¦è¾å¥è¿ä¸ªåæ°ï¼èæ¯ç¨è¶çº§ç¨æ·å¯å¨çæçèæ¬ãï¼
-t table
--table=table
åªè¾åºè¡¨ table çæ°æ®ã å¾å¯è½æ¯å¨ä¸å模å¼é颿å¤ä¸ªåå表ï¼å¦æè¿æ·ï¼é£ä¹ææå¹éç表é½å°è¢«è½¬å¨åºæ¥ã 忶声æ --schema å --table ååªéæ©ä¸ä¸ªè¡¨ã
Note:
注æ:
å¨è¿ä¸ªæ¨¡å¼éï¼pg_dump
å¹¶ä¸è¯å¾è½¬å¨ä»»ä½å¶å®éå®è¡¨å¯è½ä¾èµçæ°æ®åºå¯¹è±¡ã
å æ-
¤ï¼ç³»ç»ä¸ä¿è¯åä¸çä¸ä¸ªè¡¨ç转å¨å°±å¯ä»¥æåå°æ¢å¤å°ä¸ä¸ªå¹²åçæ°æ®åºä¸-
å»ã
|
-v |
--verbose
声æå使¨¡å¼ã è¿æ ·å°ä»¤ pg_dump 卿 åéè¯¯ä¸æå°è¿åº¦ä¿¡æ¯ã
|
-x |
--no-privileges
--no-acl
é¿åè¾åº ACLï¼èµäº/æ¤æ¶ å½ä»¤ï¼åè¡¨çææèå³ç³»ä¿¡æ¯ã
-X
use-set-session-authorization
--use-set-session-authorization
è¿ä¸ªé项åºå¼äºï¼ä¿ç宿¯ä¸ºäºåä¸å¼å®¹ã pg_dump ç°å¨è¡¨ç°å¾æ»æ¯æ³æ£å¼éåäºè¿ä¸ªé项䏿 ·ã
-X disable-triggers
--disable-triggers
è¿ä¸ªéé¡¹åªæ¯ååå»ºä»ææ°æ®ç转å¨ç¸å³ãå®åè¯ pg_dump åå«å¨æ¢å¤æ°æ®æ¶ï¼ä¸´æ¶å³éç®æ 表ä¸é¢ç触åå¨çå½ä»¤ã 妿ä½å¨è¡¨ä¸æåè宿´æ§æ£æ¥æèå¶å®è§¦åå¨ï¼èæ¢å¤æ°æ®çæ¶åä½ä¸æ³éè½½ä»ä»¬ï¼é£ä¹ä½å°±åºè¯¥ä½¿ç¨è¿ä¸ªé项ã
ç®åï¼ä¸º --disable-triggers ååºçå½ä»¤å¿é¡»ç¨è¶çº§ç¨æ·æ¥åã å æ- ¤ï¼ä½ åºè¯¥åæ¶ç¨ -S 声æä¸ä¸ªè¶çº§ç¨æ·åï¼æèæå¥½æ¯ç¨ä¸ä¸ªè¶çº§ç¨æ·ç身份æ¥å¯å¨è¿ä¸ªçæçèæ¬ã
è¿ä¸ªé项åªå¯¹çº¯ææ¬æ ¼å¼ææä¹ã对äºå¶å®æ ¼å¼ï¼ä½ å¯ä»¥å¨è°ç¨ pg_restore çæ¶å声æè¿ä¸ªé项ã
-Z 0..9
--compress=0..9
声æå¨é£äºæ¯æåç¼©çæ ¼å¼ä¸ä½¿ç¨çå缩级å«ã ï¼ç®ååªæå®¢æ·åæ ¼å¼æ¯æå缩ï¼ã
ä¸é¢çå½ä»¤è¡åæ°æ§å¶æ°æ®åºä¸ºèæ¥åæ°ã
-h host
--host=host
声æè¿è¡æå¡å¨çæºå¨ç主æºåã 妿æ°å¼ä»¥ææå¼å¤´ï¼åå®è¢«ç¨åå° Unix å奿¥åçè·¯å¾ã ç¼ºçæ¯ä» PGHOST ç¯å¢åéä¸- åå¾çï¼å¦æè®¾ç½®äºè¿ä¸ªç¯å¢åéçè¯ï¼å¦åï¼å°è¯ä¸ä¸ª Unix å奿¥åè¿æ¥ã
-p port
--port=port
声ææå¡å¨æ£å¨ä¾¦å¬å¹¶çå¾èæ¥ç TCP ç«¯å£ææ¬å° Unix 主æ§å¥æ¥å- æä»¶å¥æã ç¼ºçæ¶ä½¿ç¨ç¯å¢åé PGPORT çå¼ï¼å¦æå- å¨ï¼ï¼æèæ¯ç¼è¯æ¶ç缺çå¼ã
-U username
以ç»åºç¨æ·èº«åèæ¥ã
|
-W |
强å¶å£ä»¤æç¤ºã妿æå¡å¨éè¦å£ä»¤è®¤è¯ï¼é£ä¹è¿ä¸ªå¨ä½åºè¯¥èªå¨åçã
ENVIRONMENT ç¯å¢
PGDATABASE
|
PGHOST |
||
|
PGPORT |
||
|
PGUSER |
缺çè¿æ¥åæ°
DIAGNOSTICS è¯æ
pg_dump å¨åé¨ä½¿ç¨ SELECT è¯å¥ãå¦æä½ è¿è¡ pg_dump æ¶ç¢°å°é®é¢ï¼ç¡®è®¤ä½ è½å¤ä½¿ç¨è±¡ psql(1) è¿æ ·çç¨åºä»æ°æ®åºéåä¿¡æ¯ã
NOTES 注æ
å¦æä½ çæ°æ®åºç»template1æ°æ®åºå¢å äºä»»ä½ä½ èªå·±çä¸è¥¿ï¼ é£ä¹è¯·æ³¨ææ pg_dump çè¾åºæ¢å¤å°ä¸ä¸ªçæ£ç©ºçæ°æ®åºä¸ï¼ å¦åä½å¯è½ä¼æ¶å°å为éå¤å®ä¹æè¿½åç对象èéæçé误信æ¯ãè¦å¶ä½ä¸ä¸ªæ²¡æä»»ä½æ¬å°éå±ç©çæ°æ®åºï¼ å¯ä»¥ä»template0è䏿¯template1æ·è´ï¼æ¯å¦ï¼
CREATE DATABASE foo WITH TEMPLATE template0;
pg_dump æå 个éå¶ï¼
|
• |
å¨è½¬å¨ä¸ä¸ªè¡¨æèä½ä¸ºçº¯ææ¬è½¬å¨æ¶ï¼pg_dump æ æ³æä½å¤§å¯¹è±¡ã 大对象å¿é¡»æ´æ°æ®åºå°ä½¿ç¨éææ¬å½æ¡£æ ¼å¼ä¹ä¸è¿è¡è½¬å¨ã
|
• |
å¨è¿è¡çº¯æ°æ®è½¬å¨æ¶ï¼å¹¶ä¸ä½¿ç¨äºé项 --disable-triggers çæ¶åï¼pg_dump ååºä¸äºæ¥è¯¢åå³éå¨ç¨æ·è¡¨ä¸é¢ç触åå¨ï¼ ç¶åæå¥æ°æ®ï¼æ°æ®æå¥å®æååååºæ¥è¯¢æå¼è§¦åå¨ã 妿æ¢å¤å¨ä½å¨ä¸é´åæ- ¢ï¼é£ä¹ç³»ç»è¡¨å¯è½å°±ä¼å¤äºä¸ç§éè¯¯ç¶æã
tar 彿¡£çæåç大å°éå¶äº 8 GBãï¼è¿ä¸ªéå¶æ¯ tar æä»¶æ ¼å¼çåºæéå¶ãï¼ å æ- ¤è¿ä¸ªæ ¼å¼æ æ³ç¨äºé£äºä¸ä¸ªè¡¨ç大å°è¶è¿è¿ä¸ªå°ºå¯¸çåæè¡¨ç°ã tar 彿¡£åä»»ä½å¶å®è¾åºæ ¼å¼çæ»å¤§å°æ¯ä¸åéå¶çï¼åªæ¯å¯è½ä¼åæä½ç³»ç»çéå¶ã
æ¢å¤å®ä¹åï¼æä»¬å»ºè®®å¨æ¯ä¸ªå·²æ¢å¤ç对象ä¸è¿è¡ ANALYZEã è¿æ ·ä¼åå¨å°±å¯ä»¥å¾å°æç¨çç»è®¡ã
EXAMPLES ä¾å
转å¨ä¸ä¸ªæ°æ®åºï¼
$ pg_dump mydb > db.out
éè½½è¿ä¸ªæ°æ®åºï¼
$ psql -d database -f db.out
è¾åºä¸ä¸ªå« mydb çåå«BLOB çæ°æ®åºå°ä¸ä¸ª tar æä»¶ï¼
$ pg_dump -Ft -b mydb > db.tar
æè¿ä¸ªæ°æ®åºï¼è¿åBLOBï¼ä¸èµ·æ¢å¤å°ä¸ä¸ªç°æçå« newdb çæ°æ®åºï¼
$ pg_restore -d newdb db.tar
HISTORY åå²
pg_dump 工巿æ©åºç°å¨ Postgres95 çæ¬ 0.02ã éçº¯ææ¬è¾åºæ ¼å¼å¨ PostgreSQL çæ¬ 7.1 æ¶å¼å¥ã
SEE ALSO åè§
pg_dumpall(1), pg_restore(1), psql(1)
è¯è
Postgresql 䏿ç½ç« ä½ä¼å¹³ <laser@pgsqldb.org>
è·
æ¬é¡µé¢ä¸æçç±ä¸æ
man
æå页计åæä¾ã
䏿 man
æå页计åï¼https://github.com/man-pages-zh/manpages-zh