INITDB(1) | PostgreSQL Server Applications | INITDB(1) |
initdb - 建立一個新的 PostgreSQL資料庫叢集
initdb [ option... ] --pgdata | -D directory
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。
其他不常用的引數還有:
Postgresql 中文網站 何偉平 <laser@pgsqldb.org>
本頁面中文版由中文
man 手冊頁計劃提供。
中文 man
手冊頁計劃:https://github.com/man-pages-zh/manpages-zh
2003-11-02 | Application |