Provided by:
manpages-zh_1.5.1-1_all 
NAME
pg_dumpall - 抽出一 PostgreSQL 數據庫集群到稿本檔案中
SYNOPSIS
pg_dumpall [ option... ]
DESCRIPTIONyz
pg_dumpall 是一茈峏騧g出("轉儲")一蚍畬w集群裏的所有 PostgreSQL
數據庫到一蚑Z本檔案的工具。 該稿本檔案包含可以用於作為 psql(1)
的輸入恢復數據庫的SQL命令。 它通過對數據庫集群裏的每蚍畬w調用
pg_dump(1) 實現這茈能。 pg_dumpall 還轉儲出所有數據庫公用的全局對象。
(pg_dump(1) 並不保存這些對象。)
這些信息目前包括數據庫使用者和組,以及適用於整蚍畬w的訪問權。
因此,pg_dumpall 是備份你的數據庫的一體化解決方案。 但是請注意它的局-
性:它無法轉儲"大對象",因為 pg_dump
無法把這樣的對象轉儲到純純文字檔中。如果你的數據庫裏有大對象,
那麼你應該使用 pg_dump 的非文本輸出格式之一轉儲它怴C
因為 pg_dumpall 從所有數據庫中讀取表, 所以你很可能需-
n以數據庫超級使用者的言鷙p接,這樣才能生成完整的轉儲。 同樣,你也需-
n超級使用者的權執行保存下來的稿本,這些才能增加使用者和組,
以及創建數據庫。
SQL稿本將寫出到標準輸出。你應該使用合適的 shell 操作符把它咿w向到檔案。
pg_dumpall 需n和 PostgreSQL
伺服器連接多次,可能每次都問你口令。這種情況下寫一 $HOME/.pgpass
可能會比較方便。
OPTIONS項
下列命令行參數用於控制輸出格式:
-a
--data-only
只轉儲數據,不轉儲模式(數據定義)。
-c
--clean
包括那些垂堣妨e清理(刪除)數據庫對象的SQL命令。
-d
--inserts
把數據當作 INSERT 命令輸出(而不是
COPY)。這樣將令恢復過程非常緩慢, 但是會令輸出更容易移植到其他
SQL 數據庫包中。
-D
--column-inserts
--attribute-inserts
把數據以某種帶著明確字段名(INSERT INTO table (column, ...)
VALUES ...)的 INSERT 命令形式轉儲出來。
這樣會令恢復非常慢,但是如果需n垮r段順序就是必須的。
-g
--globals-only
只轉儲全局對象(使用者和組),而不轉儲數據庫。
-i
--ignore-version
忽略 pg_dumpall 和數據庫伺服器之間的版本差別。
pg_dumpall 可以處理來自以前版本的 PostgreSQL
的數據庫,但是太老的數據庫就不再支持了(目前到 7.0)。 如果你需-
n覆貌岩鄙邠d,那麼可以使用這蚇龠窗]如果 pg_dumpall
失敗了,可別說我怢S警告你。)
-o
--oids 為每茠簋鈶x對象標識符(OID)。 如果你的應用在某種角度引用了 OID
字段,那麼使用這蚇龠
(比如,在外鍵約束裏)。否則,不應該使用這蚇龠窗C
-s
--schema-only
只轉儲模式(數據定義),不轉儲數據。
-v
--verbose
聲明冗餘模式。這樣將令 pg_dumpall 向標準錯誤列印進度信息。
-x
--no-privileges
--no-acl
避免轉儲訪問權(授權/撤銷命令)。
下悸漫R令行參數控制數據庫連接參數。
-h host
聲明數據庫伺服器所運行的機器的主機名。 如果數-
H斜扛開頭,那麼就把它用做 Unix 域套接字的目錄。 預設是從
PGHOST 環境變量裏拿來的(如果設置了), 否則使用 Unix 域套接字。
-p port
聲明伺服器監聽的 TCP 端口號或者 Unix 域套接字檔案擴展。 預設是
PGPORT 環境變量(如果設置了), 或者是編譯時的預設。
-U username
以給定使用者角擱p接。
-W 強制口令提示。如果伺服器需n口令認証,那麼這荌囮@應該自動發生。
ENVIRONMENT境
PGHOST
PGPORT
PGUSER 預設連接參數。
NOTES`N
因為 pg_dumpall 內部調用 pg_dump,所以,一些診斷信息 可以參考
pg_dump。
恢復完之後,我怮媊釵b每茪w恢復的對象上運行 ANALYZE。
這樣優化器就可以得到有用的統p。 你也可以用 vacuumdb -a -z
清理所有數據庫。
EXAMPLESl
轉儲所有數據庫:
$ pg_dumpall > db.out
奐s載入這蚍畬w:
$ psql -f db.out template1
(在這裏你和蚍畬w聯接並不南,因為 pg_dumpall
創建的稿本檔案將包含合適的命令用於創建和聯接保存的數據庫。)
SEE ALSO見
pg_dump(1). Check there for details on possible error conditions.
者
Postgresql <laser@pgsqldb.org>