Provided by: manpages-zh_1.6.4.0-1_all bug

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