データベースの作成

広告

ではデータベースを作成してみましょう。構文は下記のようになります。

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_JPExtended UNIX Code-JP日本語
LATIN1ISO 8859-1、ECMA 94西ヨーロッパ
SJISShift JIS日本語
UTF8Unicode、8ビットすべて

エンコーディングを指定する場合は、上記の「名前」をシングルクオーテーションで括って記述して下さい。

create database database_name encoding 'SJIS';

では、実際に試してみます。

データベースの作成

新しくデータベースが作成され、そのデータベースの「Encoding」が「utf8」になっているのが確認できます。

PostgreSQLの使い方の他の記事を見てみる

( Written by Tatsuo Ikura )