PostgreSQLでDB作成する2つの方法

SinatraでメモアプリをDB化するにあたってPostgreSQLで新規でDB作成することになったのでメモ。 PostgreSQLのインストールはHomebrew経由で行った。

結論

PostgreSQLでDBを作成する方法は2つある。

  • 方法1: psql にログインしてCREATE DATABASE を実行
  • 方法2: ターミナルでcreatedb を実行

方法1: psql にログインしてCREATE DATABASE を実行

例) ユーザkarlleytestdb DBを作成する。

  1. psql を起動する為にpostgres DBに接続(接続するDBは他でもok)。
  2. -U でユーザ指定。
  3. -d で接続するDBを指定。
  4. CREATE DATABASEtestdb DB作成。
  5. testdb DBが作成されているか確認。
  6. 作成したtestdb DBに\c コマンドで切り替える。
# postgres DBに接続
$ psql -U karlley -d postgres
postgres=#

# testdb DB作成
postgres=# CREATE DATABASE testdb;
CREATE DATABASE

# testdb DBの作成を確認
postgres=# \l
                           List of databases
   Name    |  Owner  | Encoding | Collate | Ctype |  Access privileges
-----------+---------+----------+---------+-------+---------------------
 postgres  | karlley | UTF8     | C       | C     |
 template0 | karlley | UTF8     | C       | C     | =c/karlley         +
           |         |          |         |       | karlley=CTc/karlley
 template1 | karlley | UTF8     | C       | C     | =c/karlley         +
           |         |          |         |       | karlley=CTc/karlley
 testdb    | karlley | UTF8     | C       | C     |
(4 rows)

# 作成したtestdb DBへの切り替え
postgres=# \c testdb
You are now connected to database "testdb" as user "karlley".
testdb=#

方法2: ターミナルでcreatedb を実行

psql にログインせずにcreatedb コマンドでターミナル上でもDBは作成できます。

$ createdb 名

PostgreSQL: Documentation: 14: createdb

例) ユーザkarlley でtestdb DBを作成する。

# testdb DB作成
$ createdb testdb

# testdb の作成を確認
$ psql -l
                           List of databases
   Name    |  Owner  | Encoding | Collate | Ctype |  Access privileges
-----------+---------+----------+---------+-------+---------------------
 postgres  | karlley | UTF8     | C       | C     |
 template0 | karlley | UTF8     | C       | C     | =c/karlley         +
           |         |          |         |       | karlley=CTc/karlley
 template1 | karlley | UTF8     | C       | C     | =c/karlley         +
           |         |          |         |       | karlley=CTc/karlley
 testdb    | karlley | UTF8     | C       | C     |
(4 rows)

感想

やはり殆ど覚えていなかったので良い復習になった。 過去にちゃんとメモしておいたのでサクッと復習できて良かった。

参照

PostgreSQL: Documentation: 14: createdb