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 |