FreeBSD 11.1 RELEASE - postgreSQL - データベースの作成
- 1. postgres ユーザについて
- 2. ロールの作成
- 3. データベースの作成
- 4. クライアントアプリケーション
1. postgres ユーザについて
PostgreSQL をインストールすると PostgreSQL ユーザが作成されます。
バージョン「9.5」と「9.6」では、IDやユーザ名が変わっているので注意が必要です。
バージョン | ユーザ・グループ名 | ID |
9.5 まで | pgsql | 70 |
9.6 から | postgres | 770 |
2. ロールの作成
PostgreSQL には「ロール」という概念があります。
「ユーザ」という概念とほぼ同等のものと思って間違いありません。(create role SQL コマンドのラッパが createuser コマンドですから)
Oracle でいうところのスキーマに相当?
ログインユーザ名とロール名が一致するとき、ユーザの権限はロールの権限と同等になります。
ロールの作成は postgreSQL を起動した上で
postgres ユーザで行います。
postgres ユーザになるには root ユーザで
> su postgres
postgres になったところで
$ createuser [オプション] ロール名
主なオプションに以下のものがあります。
オプション | 意 味 |
-d | ロールにデータベースの作成権限を与える |
-r | ロールにロールを作成する権限を与える |
-s | ロールに pgsql ユーザと同等の権限を与える |
一度登録したロールを削除するには、以下のようにします。
$ dropuser ロール名
3. データベースの作成
データベースを作成するには、postgres ユーザ権限を持つユーザで createdb コマンドを使います。
$ createdb データベース名
データベース名を省略した場合には、ロール(ユーザ)名と同じデータベース名がデフォルト値になります。
データベースを消去するには、dropdb コマンドを使います。
$ dropdb データベース名
dropdb コマンドは、postgres ユーザか、そのデータベースを作成したロールだけが実行できます。
4. クライアントアプリケーション
前項までで、データベースの作成は終了です。後は SQL コマンドを御存知であればテーブルの生成、削除、レコードの追加・参照・更新・削除を行えるはずです。
インタラクティブな環境でデータベースを操作するには psql というクライアントアプリケーションを使用します。Oracle を使用したことのある方であれば PostgreSQL における psql とは Oracle における SQL Plus のようなものであると理解してください。
psql データベース名
で起動します。起動後は、プロンプトが
データベース名=#
となります。ここで SQL 文をタイプすることによってデータベースを操作できます。
ターミナルによっては psql 上でコマンドヒストリや行編集の機能が使えます。
psql から抜けるときは
データベース名=# \q
もしくは [Ctrl-D] を入力します。
一連の SQL 文をテキストファイルに書き込んで、一気に操作することもできます。その場合は、
psql -f ファイル名 -d データベース名
と入力します。
|
|