2. FreeBSD 10.4 RELEASE/postgreSQL/データベースの作成

 
2.1 ロールの作成
2.2 データベースの作成
2.3 クライアントアプリケーション

2.1 ロールの作成

 PostgreSQL には「ロール」という概念があります。  「ユーザ」という概念とほぼ同等のものと思って間違いありません。(create role SQL コマンドのラッパが createuser コマンドになっています)  Oracle でいうところのスキーマに相当?  ログインユーザ名とロール名が一致するとき、ユーザの権限はロールの権限と同等になります。  ロールの作成は postgreSQL を起動した上で root ユーザから su postgres ユーザで以下のように行います。

> su postgres
$ createuser [オプション] ロール名
 主なオプションには、以下のものがあります。
オプション 意 味
-dロールにデータベースの作成権限を与える
-rロールにロールを作成する権限を与える
-sロールに postgres ユーザと同等の権限を与える
 一度登録したロールを削除するには、以下のようにします。

> dropuser ロール名

2.2 データベースの作成

 データベースを作成するには、postgres ユーザ権限を持つユーザで createdb コマンドを使います。

> createdb データベース名
 データベース名を省略した場合には、ロール(ユーザ)名と同じデータベース名がデフォルト値になります。  データベースを消去するには、dropdb コマンドを使います。

> dropdb データベース名
 dropdb コマンドは、postgres 権限を持つユーザか、そのデータベースを作成したロールだけが実行できます。

2.3 クライアントアプリケーション

 前項までで、データベースの作成は終了です。後は SQL コマンドを御存知であればテーブルの生成、削除、レコードの追加・参照・更新・削除を行えるはずです。  インタラクティブな環境でデータベースを操作するには psql というクライアントアプリケーションを使用します。  Oracle を使用したことのある方であれば PostgreSQL における psql とは Oracle における SQL Plus のようなものであると理解してください。  DB2 であれば clpplus に相当します。

> psql データベース名
 で起動します。  起動後は、プロンプトが

データベース名=#
 となります。ここで SQL 文をタイプすることによってデータベースを操作できます。  ターミナルによっては psql 上でコマンドヒストリや行編集の機能が使えます。  psql から抜けるときは

データベース名=# \q
 もしくは [Ctrl-D] を入力します。  一連の SQL 文をテキストファイルに書き込んで、一気に操作することもできます。その場合は、

> psql -f ファイル名 -d データベース名
 と入力します。