FreeBSD 12.3 RELEASE - postgreSQL - データベースの作成
1. postgres ユーザについて 「PostgreSQL」をインストールすると「PostgreSQL」ユーザが作成されます。 バージョン「9.5」以前と「9.6」以降ではIDやユーザ名が変わっているので注意が必要です。
2. ロールの作成 「PostgreSQL」には「ロール」という概念があります。 「ユーザ」という概念とほぼ同等のものと思って間違いありません。 (「create role」 SQL コマンドのラッパが「createuser」コマンドですから) 「Oracle」でいうところのスキーマに相当? ログインユーザ名とロール名が一致するとき、ユーザの権限はロールの権限と同等になります。 ロールの作成は、「postgreSQL」を起動した上で 「postgres」ユーザで行います。 「postgres」ユーザになるには、「root」ユーザ権限で。 su postgres 「postgres」ユーザになったところで createuser [オプション] ロール名 主なオプションに以下のものがあります。
su postgres
createuser [オプション] ロール名
一度登録したロールを削除するには、以下のようにします。 $ 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 データベース名 と入力します。
$ dropuser ロール名
createdb データベース名
dropdb データベース名
psql データベース名
データベース名=#
データベース名=# \q
psql -f ファイル名 -d データベース名