Man page - pg_dumpall(1)
Manual
PG_DUMPALL
NAMESYNOPSIS
DESCRIPTION 描 述
OPTIONS 選 項
ENVIRONMENT 環 境
NOTES 注 意
EXAMPLES 例 子
SEE ALSO 參 見
譯 者
跋
NAME
pg_dumpall - 抽 出 一 個 PostgreSQL 資 料 庫 叢 集 到 指 令 碼 檔 案 中
SYNOPSIS
pg_dumpall [ option ... ]
DESCRIPTION 描 述
pg_dumpall 是 一 個 用 於 寫 出 ( "轉 儲 ") 一 個 數 據 庫 集 群 裡 的 所 有 PostgreSQL 資 料 庫 到 一 個 指 令 碼 檔 案 的 工 具 。 該 指 令 碼 檔 案 包 含 可 以 用 於 作 為 psql (1) 的 輸 入 恢 復 資 料 庫 的 SQL命 令 。 它 透 過 對 資 料 庫 集 群 裡 的 每 個 資 料 庫 呼 叫 pg_dump (1) 實 現 這 個 功 能 。 pg_dumpall 還 轉 儲 出 所 有 資 料 庫 公 用 的 全 域 性 物 件 。 ( pg_dump (1) 並 不 儲 存 這 些 物 件 。 ) 這 些 資 訊 目 前 包 括 資 料 庫 使 用 者 和 組 , 以 及 適 用 於 整 個 資 料 庫 的 訪 問 許 可 權 。
因 此 , pg_dumpall 是 備 份 你 的 資 料 庫 的 一 體 化 解 決 方 案 。 但 是 請 注 意 它 的 侷 限 性 : 它 無 法 轉 儲 "大 物 件 ", 因 為 pg_dump 無 法 把 這 樣 的 物 件 轉 儲 到 純 文 字 檔 案 中 。 如 果 你 的 資 料 庫 裡 有 大 物 件 , 那 麼 你 應 該 使 用 pg_dump 的 非 文 字 輸 出 格 式 之 一 轉 儲 它 們 。
因 為 pg_dumpall 從 所 有 資 料 庫 中 讀 取 表 , 所 以 你 很 可 能 需 要 以 資 料 庫 超 級 使 用 者 的 身 份 聯 接 , 這 樣 才 能 生 成 完 整 的 轉 儲 。 同 樣 , 你 也 需 要 超 級 使 用 者 的 許 可 權 執 行 儲 存 下 來 的 指 令 碼 , 這 些 才 能 增 加 使 用 者 和 組 , 以 及 建 立 資 料 庫 。
SQL指 令 碼 將 寫 出 到 標 準 輸 出 。 你 應 該 使 用 合 適 的 shell 運 算 子 把 它 重 定 向 到 檔 案 。
pg_dumpall 需 要 和 PostgreSQL 伺 服 器 連 線 多 次 , 可 能 每 次 都 問 你 口 令 。 這 種 情 況 下 寫 一 個 $HOME/.pgpass 可 能 會 比 較 方 便 。
OPTIONS 選 項
下 列 命 令 列 引 數 用 於 控 制 輸 出 格 式 :
|
-a |
--data-only
只 轉 儲 資 料 , 不 轉 儲 模 式 ( 資 料 定 義 ) 。
|
-c |
--clean
包 括 那 些 重 建 之 前 清 理 ( 刪 除 ) 資 料 庫 物 件 的 SQL命 令 。
|
-d |
--inserts
把 資 料 當 作 INSERT 命 令 輸 出 ( 而 不 是 COPY) 。 這 樣 將 令 恢 復 過 程 非 常 緩 慢 , 但 是 會 令 輸 出 更 容 易 移 植 到 其 他 SQL 資 料 庫 包 中 。
|
-D |
--column-inserts
--attribute-inserts
把 資 料 以 某 種 帶 著 明 確 欄 位 名 ( INSERT INTO table ( column , ...) VALUES ...) 的 INSERT 命 令 形 式 轉 儲 出 來 。 這 樣 會 令 恢 復 非 常 慢 , 但 是 如 果 需 要 重 排 欄 位 順 序 就 是 必 須 的 。
|
-g |
--globals-only
只 轉 儲 全 域 性 物 件 ( 使 用 者 和 組 ) , 而 不 轉 儲 資 料 庫 。
|
-i |
--ignore-version
忽 略 pg_dumpall 和 資 料 庫 伺 服 器 之 間 的 版 本 差 別 。
pg_dumpall 可 以 處 理 來 自 以 前 版 本 的 PostgreSQL 的 資 料 庫 , 但 是 太 老 的 資 料 庫 就 不 再 支 援 了 ( 目 前 到 7.0) 。 如 果 你 需 要 覆 蓋 版 本 檢 查 , 那 麼 可 以 使 用 這 個 選 項 ( 如 果 pg_dumpall 失 敗 了 , 可 別 說 我 們 沒 警 告 你 。 )
|
-o |
||
|
--oids |
為 每 個 錶 轉 儲 物 件 識 別 符 號 ( OID) 。 如 果 你 的 應 用 在 某 種 角 度 引 用 了 OID 欄 位 , 那 麼 使 用 這 個 選 項 ( 比 如 , 在 外 部 索 引 鍵 約 束 裡 ) 。 否 則 , 不 應 該 使 用 這 個 選 項 。
|
-s |
--schema-only
只 轉 儲 模 式 ( 資 料 定 義 ) , 不 轉 儲 資 料 。
|
-v |
--verbose
宣 告 冗 餘 模 式 。 這 樣 將 令 pg_dumpall 向 標 準 錯 誤 列 印 進 度 資 訊 。
|
-x |
--no-privileges
--no-acl
避 免 轉 儲 訪 問 許 可 權 ( 授 權 /撤 銷 命 令 ) 。
下
面 的 命 令 列 引
數 控 制 資 料 庫
連 線 引 數 。
-h
host
宣 告 資 料 庫 伺 服 器 所 執 行 的 機 器 的 主 機 名 。 如 果 數 值 以 斜 扛 開 頭 , 那 麼 就 把 它 用 做 Unix 域 套 接 字 的 目 錄 。 預 設 是 從 PGHOST 環 境 變 數 裡 拿 來 的 ( 如 果 設 定 了 ) , 否 則 使 用 Unix 域 套 接 字 。
-p port
宣 告 伺 服 器 監 聽 的 TCP 埠 號 或 者 Unix 域 套 接 字 檔 案 擴 充 套 件 。 預 設 是 PGPORT 環 境 變 數 ( 如 果 設 定 了 ) , 或 者 是 編 譯 時 的 預 設 。
-U username
以 給 定 使 用 者 身 分 聯 接 。
|
-W |
強 制 口 令 提 示 。 如 果 伺 服 器 需 要 口 令 認 證 , 那 麼 這 個 動 作 應 該 自 動 發 生 。
ENVIRONMENT 環 境
|
PGHOST |
||
|
PGPORT |
||
|
PGUSER |
預 設 連 線 引 數 。
NOTES 注 意
因 為 pg_dumpall 內 部 呼 叫 pg_dump, 所 以 , 一 些 診 斷 資 訊 可 以 參 考 pg_dump。
恢 復 完 之 後 , 我 們 建 議 在 每 個 已 恢 復 的 物 件 上 執 行 ANALYZE 。 這 樣 最 佳 化 器 就 可 以 得 到 有 用 的 統 計 。 你 也 可 以 用 vacuumdb -a -z 清 理 所 有 資 料 庫 。
EXAMPLES 例 子
轉 儲 所 有 資 料 庫 :
$ pg_dumpall > db.out
重 新 載 入 這 個 資 料 庫 :
$ psql -f db.out template1
( 在 這 裡 你 和 哪 個 資 料 庫 聯 接 並 不 重 要 , 因 為 pg_dumpall 建 立 的 指 令 碼 檔 案 將 包 含 合 適 的 命 令 用 於 建 立 和 聯 接 儲 存 的 資 料 庫 。 )
SEE ALSO 參 見
pg_dump (1). Check there for details on possible error conditions.
譯 者
Postgresql 中 文 網 站 何 偉 平 <laser@pgsqldb.org>
跋
本
頁 面 中 文 版 由
中 文 man 手 冊 頁 計
劃 提 供 。
中 文 man 手 冊 頁 計
劃 :
https://github.com/man-pages-zh/manpages-zh