FreeBSD 12.3 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 データベース名
と入力します。
|
|