データベースサーバの起動を参照してください)。DATABASESQLコマンドでデータベースを作成することができます。name;ここで、nameはSQL識別子の通常の規則に従います。現在のロールが自動的に新しいデータベースの所有者になります。作成後、データベースを削除する権限はこの所有者にあります(この作業では、そのデータベースに属している、所有者のものではないオブジェクトでも、すべて削除されます)。データベースの作成は制限された作業です。ロールの属性を参照してください。DATABASEコマンドを実行するためには、データベースサーバに接続している必要があります。すると、あるサイトの最初のデータベースはどのようにして作成するのかという疑問が出てきます。最初のデータベースはinitdbコマンドでデータ格納領域が初期化される時、必ず作成されます。データベースクラスタの作成を参照してください。このデータベースはpostgresと呼ばれます。したがって、最初の「通常の」データベースを作成するにはpostgresに接続してください。template1という2つ目のデータベースもデータベースクラスタの初期化時に作成されます。クラスタ内に新しいデータベースが作成されたら、実際にtemplate1が複製されます。template1に変更を与えると、その後に作成されるデータベースすべてにその変更が反映されることを意味します。このため新しく作成するデータベースすべてに反映させたい場合でない限りtemplate1内にオブジェクトを作成することは避けてください。テンプレートデータベースを参照してください。利便性のために、シェルからcreatedbを実行して、新しいデータベースを作成することができます。dbnamecreatedbは魔法ではありません。DATABASEコマンドを実行します。createdbのマニュアルページに実行方法の詳細が説明されています。引数のないcreatedbは現在のユーザ名のデータベースを作成しますので、注意してください。特定のデータベースに誰が接続できるかを制限する方法については20章クライアント認証に記載されています。他のユーザのためにデータベースを作成し、そのユーザ自身が設定、管理できるように新しいデータベースの所有者にさせたい場合も考えられます。そのためには、次のコマンドのいずれかを使用します。dbname他のユーザのために(つまり、自身がメンバではないロールのために)データベースを作成することができるのはスーパーユーザだけです。テンプレートデータベース。