- Home ›
- PostgreSQLの使い方 ›
- データベースの作成 ›
- HERE
データベースの作成
ではデータベースを作成してみましょう。構文は下記のようになります。
create database database_name;
実際に試して見ます。
上記のように「CREATE DATABASE」と表示されれば無事作成が完了しています。データベース一覧で確認してみましょう。
先ほど作成した「sample」というデータベースが増えている事が確認できます。
データベースの作成時のオプション
「CREATE DATABASE」を実行する時に色々なオプションを指定できますが、ここではデータベースのオーナーの指定とエンコーディングの指定について見ておきます。
データベースのオーナーの指定
データベースのオーナーを指定してデータベースを作成する場合の構文は下記のようになります。
create database database_name owner dbowner_name;
オーナーを指定しない場合には、データベースの作成者がオーナーとなります。最初の例ではオーナーを指定していませんでしたので、データベースの作成者である「postgres」がオーナーとなっています。「owner」句を使ってデータベース作成者以外にデータベースのオーナーを指定可能ですが、作成者以外のユーザーをオーナーに指定するのはスーパーユーザーだけが行えます。
では試してみます。まず他のユーザーをデータベースの所有者にするために、テスト用のユーザーを追加しておきます。現在のユーザーは「¥du」コマンドで確認できます。
テスト用に「testuser」というユーザーを追加してみます。ユーザーを作成するには「create user user_name;」で行えます。(ユーザーの作成などは別のページで詳しく見ていきます)。
では、データベースのオーナーを指定してデータベースを作成してみましょう。
新しくデータベースが作成され、そのデータベースの「owner」が「testuser」になっているのが確認できます。
データベースのエンコーディングの指定
データベースで使用する文字エンコーディングを指定します。構文としては下記のようになります。
create database database_name encoding encoding_name;
PostgreSQLで使えるエンコーディングは多数ありますが、日本で使う場合だと下記のようなものになるかと思います。
名前 | 説明 | 言語 |
---|---|---|
EUC_JP | Extended UNIX Code-JP | 日本語 |
LATIN1 | ISO 8859-1、ECMA 94 | 西ヨーロッパ |
SJIS | Shift JIS | 日本語 |
UTF8 | Unicode、8ビット | すべて |
エンコーディングを指定する場合は、上記の「名前」をシングルクオーテーションで括って記述して下さい。
create database database_name encoding 'SJIS';
では、実際に試してみます。
新しくデータベースが作成され、そのデータベースの「Encoding」が「utf8」になっているのが確認できます。
( Written by Tatsuo Ikura )