Man page - initdb(1)
Manual
INITDB
NAMESYNOPSIS
DESCRIPTION 描 述
OPTIONS 選 項
ENVIRONMENT 環 境
SEE ALSO 參 見
譯 者
跋
NAME
initdb - 建 立 一 個 新 的 PostgreSQL資 料 庫 叢 集
SYNOPSIS
initdb [ option ... ] --pgdata | -D directory
DESCRIPTION 描 述
initdb 建 立 一 個 新 的 PostgreSQL 資 料 庫 叢 集 。 一 個 數 據 庫 叢 集 是 由 單 個 伺 服 器 例 項 管 理 的 資 料 庫 集 合 。
建 立 資 料 庫 系 統 包 括 建 立 資 料 庫 資 料 的 宿 主 目 錄 , 生 成 共 享 的 系 統 表 ( 不 屬 於 任 何 特 定 資 料 庫 的 表 ) 和 建 立 template1 資 料 庫 。 當 你 以 後 再 建 立 一 個 新 資 料 庫 時 , template1 資 料 庫 裡 所 有 內 容 都 會 複 製 過 來 。 它 包 括 填 充 了 象 內 建 型 別 這 樣 的 系 統 表 。
initdb 初 始 化 該 資 料 庫 叢 集 的 預 設 區 域 和 字 元 集 編 碼 。 有 些 區 域 範 疇 對 該 叢 集 而 言 是 全 生 命 期 固 定 的 , 因 此 在 執 行 initdb 的 時 候 選 取 正 確 的 是 非 常 重 要 的 。 其 它 區 域 範 疇 可 以 在 伺 服 器 啟 動 之 後 的 時 間 裡 改 變 。 initdb 將 把 那 些 區 域 設 定 寫 到 postgresql.conf 配 置 檔 案 , 這 樣 它 們 就 是 預 設 的 , 但 是 我 們 可 以 透 過 編 輯 那 些 檔 案 來 修 改 它 們 。 要 設 定 initdb 使 用 的 區 域 , 參 閱 --locale 選 項 的 描 述 。 字 元 集 編 碼 可 以 在 資 料 庫 建 立 的 時 候 獨 立 設 定 。 initdb 決 定 template1 資 料 庫 的 編 碼 , 而 該 編 碼 將 成 為 所 有 其 它 資 料 庫 的 預 設 。 要 修 改 預 設 編 碼 , 我 們 可 以 使 用 --encoding 選 項 。
initdb 必 須 以 執 行 資 料 庫 伺 服 器 程 序 的 使 用 者 身 份 執 行 它 。 因 為 伺 服 器 需 要 能 夠 訪 問 initdb 建 立 的 檔 案 和 目 錄 。 因 為 伺 服 器 不 能 以 root 身 份 執 行 , 所 以 你 也 不 能 以 root 身 份 執 行 initdb。 ( 實 際 上 它 拒 絕 以 root 身 份 執 行 。 )
儘 管 initdb會 嘗 試 建 立 相 應 的 資 料 目 錄 , 但 經 常 會 發 生 它 沒 有 許 可 權 做 這 些 事 情 的 情 況 。 因 為 所 需 要 的 目 錄 的 父 目 錄 通 常 是 root 所 有 的 目 錄 。 要 為 此 安 排 做 一 個 設 定 , 用 root 建 立 一 個 空 資 料 目 錄 , 然 後 用 chown 把 該 目 錄 的 所 有 權 交 給 資 料 庫 使 用 者 帳 號 , 然 後 su 成 資 料 庫 使 用 者 , 最 後 以 資 料 庫 使 用 者 身 份 執 行 initdb。
OPTIONS 選 項
-D
directory
--pgdata=
directory
這 個 選 項 宣 告 資 料 庫 叢 集 應 該 存 放 在 哪 個 目 錄 。 這 是 initdb需 要 的 唯 一 資 訊 , 但 是 你 可 以 透 過 設 定 PGDATA 環 境 變 數 來 避 免 鍵 入 , 這 樣 做 可 能 方 便 一 些 , 因 為 稍 後 資 料 庫 伺 服 器 ( postmaster) 可 以 透 過 同 一 個 變 數 找 到 資 料 庫 目 錄 。
-E
encoding
--encoding=
encoding
選 擇 模 板 資 料 庫 的 編 碼 方 式 。 這 將 是 你 以 後 建 立 的 資 料 庫 的 預 設 編 碼 方 式 , 除 非 你 建 立 資 料 庫 時 覆 蓋 了 它 。 預 設 是 SQL_ASCII。
--locale= locale
為 資 料 庫 叢 集 設 定 預 設 的 區 域 。 如 果 沒 有 宣 告 這 個 選 項 , 那 麼 區 域 是 從 initdb 執 行 的 環 境 中 繼 承 過 來 的 。
--lc-collate=
locale
--lc-ctype=
locale
--lc-messages=
locale
--lc-monetary=
locale
--lc-numeric=
locale
--lc-time=
locale
類 似 --locale, 但 是 隻 設 定 特 殊 範 疇 的 區 域 。
-U
username
--username=
username
選 擇 資 料 庫 超 級 使 用 者 的 使 用 者 名 稱 。 預 設 是 執 行 initdb 的 使 用 者 的 有 效 使 用 者 。 超 級 使 用 者 的 名 字 是 什 麼 並 不 重 要 , 但 是 我 們 可 以 選 擇 習 慣 的 名 字 postgres, 即 使 作 業 系 統 的 使 用 者 名 稱 字 不 一 樣 也 無 所 謂 。
|
-W |
--pwprompt
令 initdb 提 示 輸 入 資 料 庫 超 級 使 用 者 的 口 令 。 如 果 你 不 準 備 使 用 口 令 認 證 , 這 個 東 西 並 不 重 要 。 否 則 你 將 不 能 使 用 口 令 認 證 直 到 你 設 定 了 口 令 。
其 他 不 常 用 的 引 數 還 有 :
|
-d |
--debug
從 初 始 化 後 端 列 印 除 錯 輸 出 以 及 一 些 其 它 的 一 些 普 通 使 用 者 不 太 感 興 趣 的 資 訊 。 初 始 化 後 端 是 initdb 用 於 建 立 系 統 表 的 程 式 。 這 個 選 項 生 成 大 量 非 常 煩 人 的 輸 出 。
-L directory
告 訴 initdb 到 哪 裡 找 初 始 化 資 料 庫 所 需 要 的 輸 入 檔 案 。 通 常 是 不 必 要 的 。 如 果 需 要 你 明 確 宣 告 的 話 , 程 式 會 提 示 你 輸 入 。
|
-n |
--noclean
預 設 時 , 當 initdb 發 現 一 些 錯 誤 妨 礙 它 完 成 建 立 資 料 庫 叢 集 的 工 作 時 , 它 將 在 檢 測 到 不 能 結 束 工 作 之 前 將 其 建 立 的 所 有 檔 案 刪 除 。 這 個 選 項 禁 止 任 何 清 理 動 作 , 因 而 對 除 錯 很 有 用 。
ENVIRONMENT 環 境
|
PGDATA |
宣 告 資 料 庫 叢 集 儲 存 的 目 錄 ; 可 以 用 -D 選 項 覆 蓋 。
SEE ALSO 參 見
postgres (1), postmaster (1)
譯 者
Postgresql 中 文 網 站 何 偉 平 <laser@pgsqldb.org>
跋
本
頁 面 中 文 版 由
中 文 man 手 冊 頁 計
劃 提 供 。
中 文 man 手 冊 頁 計
劃 :
https://github.com/man-pages-zh/manpages-zh