createdb — 建立新的 PostgreSQL 資料庫
createdb
[connection-option
...] [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 伺服器支援的字元集在 第 23.3.1 節 中描述。
-l locale
--locale=locale
指定要在該資料庫中使用的地區設定。這相當於將 --lc-collate
、--lc-ctype
和 --icu-locale
指定為相同的值。某些地區設定僅對 ICU 有效,必須使用 --icu-locale
進行設定。
--lc-collate=locale
指定要在該資料庫中使用的 LC_COLLATE 設定。
--lc-ctype=locale
指定要在該資料庫中使用的 LC_CTYPE 設定。
--builtin-locale=locale
指定使用內建提供者時的地區設定名稱。地區設定支援在第 23.1 節中描述。
--icu-locale=locale
指定要在此資料庫中使用的 ICU 地區設定 ID(如果選擇了 ICU 地區設定提供者)。
--icu-rules=rules
指定其他排序規則,以自訂此資料庫的預設排序規則的行為。僅 ICU 支援此功能。
--locale-provider={builtin
|libc
|icu
}
指定資料庫預設排序規則的地區設定提供者。
-O owner
--owner=owner
指定將擁有新資料庫的資料庫使用者。(此名稱被處理為雙引號識別符號。)
-S strategy
--strategy=strategy
指定資料庫建立策略。有關更多詳細資訊,請參閱CREATE DATABASE STRATEGY。
-T template
--template=template
指定用於建立此資料庫的範本資料庫。(此名稱被處理為雙引號識別符號。)
-V
--version
列印 createdb 版本並結束。
-?
--help
顯示有關 createdb 命令列引數的說明並結束。
選項 -D
、-l
、-E
、-O
和 -T
對應到 SQL 指令 CREATE DATABASE
的選項;關於這些選項的更多資訊,請參閱該處。
createdb 也接受下列用於連線參數的命令列引數:
-h host
--host=host
指定伺服器執行的主機名稱。如果此值以斜線開頭,則會將其用作 Unix 網域套接字的目錄。
-p port
--port=port
指定伺服器監聽連線的 TCP 埠或本機 Unix 網域套接字檔案擴充名。
-U username
--username=username
要以哪個使用者名稱進行連線。
-w
--no-password
永遠不要發出密碼提示。如果伺服器需要密碼驗證,並且無法透過其他方式(例如 .pgpass
檔案)取得密碼,則連線嘗試將會失敗。這個選項在批次作業和指令碼中可能很有用,因為沒有使用者可以輸入密碼。
-W
--password
強制 createdb 在連線到資料庫之前提示輸入密碼。
這個選項並非絕對必要,因為如果伺服器需要密碼驗證,createdb 會自動提示輸入密碼。但是,createdb 會浪費一次連線嘗試來了解伺服器是否需要密碼。在某些情況下,輸入 -W
可以避免額外的連線嘗試。
--maintenance-db=dbname
指定建立新資料庫時要連線的資料庫名稱。如果未指定,則會使用 postgres
資料庫;如果該資料庫不存在(或者它是要建立的新資料庫的名稱),則會使用 template1
。這可以是連線字串。如果是這樣,連線字串參數將覆寫任何衝突的命令列選項。
PGDATABASE
如果設定,則為要建立的資料庫名稱,除非在命令列上覆寫。
PGHOST
PGPORT
PGUSER
預設連線參數。如果未在命令列上或透過 PGDATABASE
指定,PGUSER
也會決定要建立的資料庫名稱。
PG_COLOR
指定是否要在診斷訊息中使用顏色。可能的值為 always
、auto
和 never
。
此公用程式(與大多數其他 PostgreSQL 公用程式一樣)也使用 libpq 支援的環境變數(請參閱第 32.15 節)。
如果遇到困難,請參閱 CREATE DATABASE 和 psql,以了解潛在問題和錯誤訊息的討論。資料庫伺服器必須在目標主機上執行。此外,libpq 前端程式庫使用的任何預設連線設定和環境變數都將適用。
使用預設資料庫伺服器建立資料庫 demo
$
createdb demo
若要使用主機 eden
上,連接埠 5000 的伺服器,使用 template0
範本資料庫建立資料庫 demo
,以下是命令列指令和底層 SQL 指令
$
createdb -p 5000 -h eden -T template0 -e demo
CREATE DATABASE demo TEMPLATE template0;
如果您在文件中看到任何不正確、與您使用特定功能的經驗不符或需要進一步說明的地方,請使用此表格來報告文件問題。