FreeBSD 11.0 RELEASE - postgreSQL - データベースの作成

 クラウディア
1. ロールの作成
2. データベースの作成
3. クライアントアプリケーション

1. ロールの作成

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

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

> dropuser ロール名

2. データベースの作成

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

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

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

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

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

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

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

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

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