2.3. データベースの作成 (psql)

前提条件

DBへの接続

0. 準備

1. 事前作業

コマンド:

psql \
  --host=${DB_HOSTNAME} \
  --username=${DB_USER} \
  --dbname=${DB_NAME} \
  -c '\l'

結果(例):

                                         データベース一覧
   名前    |  所有者  | エンコーディング |  照合順序   | Ctype(変換演算子) |      アクセス権
-----------+----------+------------------+-------------+-------------------+-----------------------
 postgre   | pgadmin  | UTF8             | en_US.UTF-8 | en_US.UTF-8       |
 postgres  | pgadmin  | UTF8             | en_US.UTF-8 | en_US.UTF-8       |
 rdsadmin  | rdsadmin | UTF8             | en_US.UTF-8 | en_US.UTF-8       | rdsadmin=CTc/rdsadmin
 template0 | rdsadmin | UTF8             | en_US.UTF-8 | en_US.UTF-8       | =c/rdsadmin          +
           |          |                  |             |                   | rdsadmin=CTc/rdsadmin
 template1 | pgadmin  | UTF8             | en_US.UTF-8 | en_US.UTF-8       | =c/pgadmin           +
           |          |                  |             |                   | pgadmin=CTc/pgadmin
(5 行)

2. 空のデータベースの作成

コマンド:

echo "CREATE DATABASE redmine_handson_db WITH ENCODING='UTF8' OWNER=redmine_handson;" \
  | psql \
    --host=${DB_HOSTNAME} \
    --username=${DB_USER} \
    --dbname=${DB_NAME}

結果:

CREATE DATABASE

3. 事後作業

コマンド:

psql \
  --host=${DB_HOSTNAME} \
  --username=${DB_USER} \
  --dbname=${DB_NAME} \
  -c '\l'

結果(例):

                                             データベース一覧
      名前      |   所有者    | エンコーディング |  照合順序   | Ctype(変換演算子) |      アクセス権
----------------+-------------+------------------+-------------+-------------------+-----------------------
 postgre        | pgadmin     | UTF8             | en_US.UTF-8 | en_US.UTF-8       |
 postgres       | pgadmin     | UTF8             | en_US.UTF-8 | en_US.UTF-8       |
 rdsadmin       | rdsadmin    | UTF8             | en_US.UTF-8 | en_US.UTF-8       | rdsadmin=CTc/rdsadmin
 redmine_lab_db | redmine_lab | UTF8             | en_US.UTF-8 | en_US.UTF-8       |
 template0      | rdsadmin    | UTF8             | en_US.UTF-8 | en_US.UTF-8       | =c/rdsadmin          +
                |             |                  |             |                   | rdsadmin=CTc/rdsadmin
 template1      | pgadmin     | UTF8             | en_US.UTF-8 | en_US.UTF-8       | =c/pgadmin           +
                |             |                  |             |                   | pgadmin=CTc/pgadmin
(6 行)

完了