createdb

Name

createdb -- 建立一個新的 PostgreSQL 資料庫

Synopsis

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

描述

createdb 建立一個新的 PostgreSQL 資料庫。

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

createdb 是一個 SQL 命令 CREATE DATABASE 的封裝。 因此,用哪種方法建立資料庫都沒什麼特別的。

選項

createdb 接受下列命令行參數:

dbname

聲明要建立的資料庫名。該名稱應該在本節點的 PostgreSQL 所有資料庫裡面是唯一的。 預設是與目前系統用戶同名。

description

這個選項聲明一個與新建立的資料庫相關的註解。

-D tablespace
--tablespace tablespace

聲明資料庫的預設資料表空間。

-e
--echo

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

-E encoding
--encoding encoding

聲明用於此資料庫的字元編碼方式。 PostgreSQL 伺服器支援的字元集在 Section 20.2.1 裡列出。

-q
--quiet

不顯示響應。

-O owner
--owner owner

指定將擁有新資料庫的資料庫用戶。

-T template
--template template

聲明建立此資料庫的模板資料庫。

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

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

-h host
--host host

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

-p port
--port port

聲明伺服器 偵聽的等待連接的互聯網 TCP 連接埠或一個本地 Unix 域套接字文件擴展(描述符)。

-U username
--username username

進行連線的用戶名。

-W
--password

強制指令提示符。

環境

PGDATABASE

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

PGHOST
PGPORT
PGUSER

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

診斷

如果出現錯誤,將會顯示後端錯誤訊息。參閱 CREATE DATABASEpsql 獲取可能訊息描述。 資料庫伺服器必須在目標伺服器上執行。同樣,前端庫 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, CREATE DATABASE