Ubuntu Manpages

createdb

創建一個新的 PostgreSQL 數據庫

createdb [ option... ] [ dbname ] [ description ]

createdb 創建一個新的 PostgreSQL 數據庫。


通常,執行這個命令的數據庫使用者成為新數據庫的所有者。 不過,如果執行使用者擁有合適的權限,那麼他可以通過 -O 指定合適的使用者。

createdb 是一個 SQL 命令 CREATE DATABASE [create_database(7)] 的封裝。 因此,用哪種方法創建數據庫都沒什麼特別的。

createdb 接受下列命令行參數:


聲明要創建的數據庫名。該名稱應該在本節點的 PostgreSQL 所有數據庫裏面是唯一的。 預設是與當前系統使用者同名。

這個選項聲明一個與新創建的數據庫相關的注解。

聲明變更了的數據庫集群(節點)的位置。 又見 initlocation(1).

回顯 createdb 生成的命令並且把它發送到伺服器。

聲明用於此數據庫的字符編碼方式。

指定將擁有新數據庫的數據庫使用者。

不顯示響應。

聲明創建此數據庫的模板數據庫。


選項 -h,-p,-U, -W,-e 是以文本形式傳遞給 psql。 選項-O,-D,-T 和 -E 轉換為下層的 SQL 命令 CREATE DATABASE [create_database(7)] 的選項;參考該條目獲取更多相關信息。

createdb 還接受下列命令行參數作為連接參數:


聲明運行伺服器的主機名。 如果數值以斜扛開頭,則它被用做到 Unix 域套接字的路徑。

聲明伺服器 偵聽的等待連接的網際網路 TCP 端口或一個本地 Unix 域套接字檔案擴展(描述符)。

進行聯接的使用者名。

強制口令提示符。


如果設置了,那麼就是要創建的數據庫名字,除非在命令行上覆蓋了。

預設連接參數。PGUSER 還決定了要創建的數據庫名字-- 如果我們沒有在命令行上聲明數據庫名字,也沒有用 PGDATABASE 聲明的話。


如果出現錯誤,將會顯示後端錯誤訊息。參閱 CREATE DATABASE [create_database(7)] 和 psql(1) 獲取可能信息描述。 數據庫伺服器必須在目標伺服器上運行。同樣,前端庫 libpq 使用的預設連接設置和環境變量都將適用。


用預設數據庫伺服器創建一個數據庫 demo:

$ createdb demo
CREATE DATABASE


響應信息與運行 CREATE DATABASE SQL 命令時一樣。


用在主機eden上的伺服器創建數據庫 demo, 端口是 5000,使用 LATIN1 編碼方式,並且顯示執行的命令:

$ createdb -p 5000 -h eden -E LATIN1 -e demo
CREATE DATABASE "demo" WITH ENCODING = 'LATIN1'
CREATE DATABASE

dropdb(1), CREATE DATABASE [create_database(7)]

譯者

Postgresql 中文網站 何偉平 <laser@pgsqldb.org>