アプリケーション作成前のデータベース構築手順です。
PostgreSQL本体の構築やらログイン等々はすでにできているものとしますので、
そちらの情報をお求めの方はGoogle先生へ。。。
なお、本稿はコマンド操作での解説となりますので、ターミナルでPostgreSQLへログインして実行しましょう。
ユーザ(ロール)作成
あとからでもできますが、DB作成時に管理ユーザを指定できるよう、最初に作成するのが良いでしょう。
基本的な作成コマンドは以下の通りです。
CREATE USER sample_user WITH PASSWORD 'password';
その他オプション
パスワードに有効期限をセット
以下の例では、2023年1月1日に無効化されます。
(2022年12月31日まで有効)
指定しない場合は無期限となります。
CREATE USER sample_user WITH PASSWORD 'password' VALID UNTIL 'Jan 1 2023';
スーパーユーザ
作成するユーザを、スーパーユーザ権限にします。
CREATE USER sample_user WITH PASSWORD 'password' SUPERUSER;
その他権限付与
以下の例では、データベース作成・ユーザ作成の権限を付与します。
CREATE USER sample_user WITH PASSWORD 'password' CREATEDB CREATEROLE;
確認
コマンド実行後、”CREATE ROLE”と表示されていれば、作成完了です。
”\du”コマンドにて、作成済みのユーザを確認しましょう!
データベース作成
先ほど作成したユーザをオーナとしたデータベースを作成しましょう。
基本コマンド
CREATE DATABASE sample_database;
オプション
オーナーを指定する場合
※前述で作成したユーザをオーナーに指定します。
CREATE DATABASE sample_database OWNER sample_user;
文字セットの指定
指定しない場合はデフォルトの文字セットが使用されますが、こちらはデータベース作成後は変更できません。
必要があれば、必ずこの時点で指定しましょう。
CREATE DATABASE sample_database ENCODING UTF8;
確認
コマンド実行後、”CREATE DATABASE”と表示されていれば、作成完了です。
”\l”コマンドにて、作成済みのデータベースを確認しましょう!
接続方法
ターミナルにて、以下のコマンドからログインできます。
psql -h localhost -U sample_user -d sample_database;
Password for user sample_user: となるので、設定したパスワードを入力し、エンターでログインできます。
パスワードはセキュリティ上、ターミナルでは入力が見えないかと思いますので、注意して入力してください。
なお、パスワードを間違えた場合、以下が表示されます。
psql: FATAL: password authentication failed for user "sample_user"
正常にログインできた場合は、SQLやコマンドの入力モードに変わります。
sample_database=>
SQLは、末尾に”;”(セミコロン)を入力しない限り、入力が続きますので、忘れないように。
ログアウトする場合は、”\q”でターミナルに戻ります。
コメント