FreeBSD 11.2 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 データベース名