DATABASEは新しいPostgreSQLデータベースを作成します。データベースを作成するには、スーパーユーザ、もしくはCREATEDBという特別な権限を持つユーザである必要があります。USERを参照してください。デフォルトでは、新しいデータベースは標準システムデータベースtemplate1を複製することによって作成されます。nameと記述します。template0と記述することで、そのバージョンのPostgreSQLによって定義済みの標準オブジェクトのみを持つ、新しいデータベースを作ることができます。これは、template1に独自にインストールして追加したオブジェクトをコピーしたくない場合に便利です。パラメータname作成するデータベースの名前です。user_name新しいデータベースを所有するユーザのロール名です。デフォルト設定(つまり、コマンドを実行したユーザ)を使用する場合はDEFAULTと指定します。他のロールによって所有されるデータベースを作成するためには、そのロールの直接的または間接的なメンバであるか、スーパーユーザでなければなりません。template新しいデータベースを作成元となるテンプレートの名前です。デフォルトテンプレート(template1)を使う場合は、DEFAULTと指定します。encoding新しいデータベースで使われる文字セット符号化方式です。文字列定数(例えば'SQL_ASCII')、整数の符号化方式番号、デフォルトの符号化方式(すなわちテンプレートデータベースの符号化方式)を使うDEFAULTのいずれかを指定します。PostgreSQLサーバでサポートされる文字セットについては項22.3.1で説明します。この他の制限については後述します。lc_collate新しいデータベースで使用する照合順(LC_COLLATE)です。BYを持つ問い合わせなどにおいて文字列に適用されるソート順やテキスト型の列に対するインデックスで使用される順序に影響します。lc_ctype新しいデータベースで使用する文字のクラス(LC_CTYPE)です。いった文字の分類に影響します。デフォルトではテンプレートデータベースの文字クラスを使用します。さらなる制限に関しては後で説明します。tablespace_name新しいデータベースに関連付けされるデフォルトのテーブル空間名です。テンプレートデータベースのテーブル空間を使用する場合は、DEFAULTと指定します。このテーブル空間が、このデータベースで作成されるオブジェクトのデフォルトのテーブル空間となります。TABLESPACEを参照してください。connlimitこのデータベースで確立できる同時接続数です。-1(デフォルト)は無制限を意味します。省略可能なパラメータは、任意の順番で記述できます。上記の順番で記述しなくても構いません。DATABASEはトランザクションブロックの内側では実行できません。directory"という行が含まれるエラーは、データディレクトリの権限不足、ディスク容量不足などファイルシステムについての問題に関連するものです。DATABASEを使用してください。createdbプログラムは利便性のために提供される、このコマンドのラッパプログラムです。DATABASE"機能として意図されているわけではありません。主な制限は、コピー中に他のセッションからテンプレートデータベースへの接続ができないことです。DATABASEは、開始した時に他の接続があると失敗します。DATABASEが完了するまでロックされます。詳細は項21.3を参照してください。新しいデータベース用に指定される文字セット符号化方式は選択されたロケール設定(LC_COLLATEおよびLC_CTYPE)と互換性がなければなりません。ロケールがC(や同等のPOSIX)であれば、すべての符号化方式が許されますが、他のロケール設定では適切に動作する符号化方式は1つしかありません。(しかしWindowsではUTF-8符号化方式をすべてのロケールで使用することができます。DATABASEでは、ロケール設定に関係なくスーパーユーザがSQL_ASCII符号化方式を指定することを許していますが、こうした選択は廃止予定であり、データベース内にロケールと互換性がない符号化方式でデータが格納された場合、文字列関数の誤動作を多く引き起こします。符号化方式とロケール設定はテンプレートデータベースのこれらの設定と一致しなければなりません。template0がテンプレートとして使用される場合は例外です。他のデータベースには指定された符号化方式と一致しないデータを含む可能性やLC_COLLATEおよびLC_CTYPEがソート順序に影響するようなインデックスを含む可能性があることがこの理由です。したデータをコピーすると、新しい設定から見るとデータベースが破損する結果となります。template0には影響を受けるデータやインデックスが含まれていないことが分かっています。LIMITは厳密な制限ではありません。データベース向けの接続"スロット"が1つ残っていた時に同時に2つの新しいセッション開始要求があった場合、両方とも失敗する可能性があります。この制限はスーパーユーザには強制されません。新しいデータベースを作成します。lusiadas;salesappユーザを所有者、salesspaceをデフォルトのテーブル空間としてsalesデータベースを作成します。salesspace;ISO-8859-1文字セットをサポートするmusicデータベースを作成します。template0句は、template1の符号化方式がISO-8859-1ではない場合にのみ必要です。符号化方式を変更するには同様にLC_COLLATEとLC_CTYPEを新たに設定する必要があるかもしれないことに注意してください。DATABASE文はありません。データベースは、実装で生成が定義されるカタログと同等のものです。