createdbは、新しいPostgreSQLデータベースを作成します。
通常、このコマンドを実行するデータベースユーザが、新しいデータベースの所有者になります。 ただし、コマンドを実行するユーザが適切な権限を持っている場合、-Oオプションを使用して別のユーザを所有者に指定することができます。
createdbはCREATE DATABASE SQLコマンドのラッパです。 従って、このユーティリティでデータベースを作成しても、これ以外の方法でサーバにアクセスしてデータベースを作成しても何も違いはありません。
createdbでは、下記のコマンドライン引数を指定できます。
作成するデータベースの名前を指定します。 この名前はクラスタ内の全てのPostgreSQLデータベースの中で一意でなければなりません。 デフォルトでは、現在のシステムユーザと同じ名前でデータベースを作成します。
新しく作成されるデータベースに関連付けるコメントを指定します。
データベース用のデフォルトのテーブル空間を指定します。
createdbが生成し、サーバに送信したコマンドをエコー表示します。
このデータベース内で使用する文字符号化方式を指定します。 PostgreSQLサーバでサポートされる文字セットについては項20.2.1で説明します。
新しいデータベースの所有者となるデータベースユーザを指定します。
応答を表示させないようにします。
このデータベースの構築に使用するテンプレートデータベースを指定します。
オプション-D、-E、-O、および -Tは、それぞれ根底にあるCREATE DATABASE SQLコマンドに対応しています。 詳細はそちらを参照してください。
また createdbは、以下のコマンドライン引数を接続パラメータとして受け付けます。
サーバが稼働しているマシンのホスト名を指定します。 この値がスラッシュから始まる場合、Unixドメインソケット用のディレクトリとして使用されます。
サーバが接続を監視するTCPポートもしくはUnixドメインソケットのファイル拡張子を指定します。
接続するためのユーザ名を指定します。
強制的にパスワードのプロンプトを表示します。
設定されている場合は、コマンドラインで上書きされない限り、これが作成するデータベースの名前になります。
デフォルトの接続パラメータです。 コマンドラインでもPGDATABASEでも指定されていない場合は、PGUSERが作成するデータベースの名前にもなります。
問題が発生した場合、潜在する問題とエラーメッセージの説明についてCREATE DATABASEとpsqlを参照してください。 データベースサーバは対象ホストで稼働していなければなりません。 また、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