CREATEDB(1)

NAME
createdb - 新しいPostgreSQLデータベースを作成する

SYNOPSIS

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

説明

createdbは、新しいPostgreSQLデータベースを作成します。

通常、このコマンドを実行したデータベースユーザが、新しいデータベースの所有者になります。 ただし、コマンドを実行するユーザが適切な権限を持っている場合、-Oオプションを使用して別のユーザを所有者に指定することができます。

createdbはCREATE DATABASE [create_database(l)]というSQLコマンドのラッパです。 したがって、このユーティリティでデータベースを作成しても、これ以外の方法でサーバにアクセスしてデータベースを作成しても何も違いはありません。

オプション

createdbでは、下記のコマンドライン引数を指定できます。

dbname
    作成するデータベースの名前を指定します。 この名前はクラスタ内の全てのPostgreSQLデータベースの中で一意でなければなりません。 デフォルトでは、現在のシステムユーザと同じ名前でデータベースを作成します。

description
    新しく作成されるデータベースに関連付けるコメントを指定します。

-D tablespace

--tablespace tablespace
    データベース用のデフォルトのテーブル空間を指定します。

-e

--echo
    createdbが生成し、サーバに送信したコマンドをエコー表示します。

-E encoding

--encoding encoding
    このデータベース内で使用する文字符号化方式を指定します。 PostgreSQLサーバでサポートされる文字セットについてはin the documentationで説明します。

-O owner

--owner owner
    新しいデータベースの所有者となるデータベースユーザを指定します。

-q

--quiet
    応答を表示しないようにします。

-T template

--template template
    このデータベースの構築に使用するテンプレートデータベースを指定します。

オプション-D、-E、-O、および-Tは、基盤となるCREATE DATABASE [create_database(l)]というSQLコマンドのオプションにそれぞれ対応しています。 詳細はそちらを参照してください。

またcreatedbは、以下のコマンドライン引数を接続パラメータとして受け付けます。

-h host

--host host
    サーバが稼働しているマシンのホスト名を指定します。 この値がスラッシュから始まる場合、Unixドメインソケット用のディレクトリとして使用されます。

-p port

--port port
    サーバが接続を監視するTCPポートもしくはUnixドメインソケットのファイル拡張子を指定します。

-U username

--username username
    接続に使用するユーザ名を指定します。

-W

--password
    強制的にパスワードのプロンプトを表示します。

環境

PGDATABASE
    この値が設定されている場合、コマンドラインで上書きされない限り、設定された値が作成するデータベースの名前になります。

PGHOST

PGPORT

PGUSER
    デフォルトの接続パラメータです。 コマンドラインでもPGDATABASEでも名前が指定されていない場合は、PGUSERが作成するデータベースの名前にもなります。

また、このユーティリティは、他のほとんどのPostgreSQLユーティリティと同様、libpqでサポートされる環境変数を使用します（in the documentationを参照してください）。

診断

問題が発生した場合、考えられる原因とエラーメッセージの説明についてCREATE DATABASE [create_database(l)]とpsql(1)を参照してください。 データベースサーバは対象ホストで稼働していなければなりません。 また、libpqフロントエンドライブラリで使用される、全てのデフォルトの接続設定と環境変数が適用されることも覚えておいてください。

例

デフォルトのデータベースサーバを使用してdemoデータベースを作成します。

$ createdb demo
CREATE DATABASE

これに対する応答は、CREATE DATABASEというSQLコマンドを実行した場合と同じです。

edenホスト上のポート番号5000のサーバを使用し、LATIN1符号化方式を使用するdemoデータベースを、背後で実行されるコマンドを表示させながら作成します。

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

関連項目
dropdb(1), CREATE DATABASE [create_database(l)]