LoginSignup
42
40

More than 5 years have passed since last update.

[macOS High Sierra][Homebrew] PostgreSQL のインストールからDB作成まで

Last updated at Posted at 2018-02-12

環境

  • macOS High Sierra ( 10.13.x )
  • Ruby v2.3.4p301
  • Homebrew v1.5.4
  • PostgreSQL v10.2

Homebrewのインストール

コマンドラインから次のコマンドを実行してインストール。

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

PostgreSQLのインストール

Homebrew で PostgreSQL をインストール。

$ brew install postgresql

PostgreSQLのサービス自動起動と停止

自動起動

次に示すコマンドで PostgreSQL の自動起動を設定する。
これによって PostgreSQL が起動し、macOS の再起動〜ログインした際にも PostgreSQL が自動で起動する設定となる。

$ brew services start postgresql

停止

PostgreSQL の停止、並びに自動起動をやめたい場合は次のコマンドを実行する。

$ brew services stop postgresql

ユーザ作成

$ psql -U${USER} postgres

で PostgreSQL にログイン。
ここで、環境変数 ${USER} は PostgreSQL をインストールした際の macOS のログインユーザである。${USER} は PostgreSQL に対してスーパーユーザとして作成されていて、このユーザをそのまま使うのは良くないので、

postgres=# create user postgres with SUPERUSER;
CREATE ROLE

で OS のユーザとは別に操作用のユーザ postgres を作成する。

この時 with SUPERUSER を指定して、作成するユーザにスーパーユーザー権限を与えている点に注目。
ここで with SUPERUSER 付きで作成しないとDB作成権限等の特別な権限が付与されない。

DB接続

先ほど作成したユーザでログインできるかを確認する。

$ psql -Upostgres

次の表示が出たらログイン成功。

psql (10.2)
Type "help" for help.

postgres=# 

さらに

postgres=# \l
                                    List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |     Access privileges     
-----------+----------+----------+-------------+-------------+---------------------------
 postgres  | ${USER}  | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 template0 | ${USER}  | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/"${USER}"            +
           |          |          |             |             | "${USER}"=CTc/"${USER}"
 template1 | ${USER}  | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/"${USER}"            +
           |          |          |             |             | "${USER}"=CTc/"${USER}"
(3 rows)

psql メタコマンドである ¥l を入力してデータベースのリストが取得できることを確認。

DB作成

コマンドラインから作成する方法と PostgreSQL にログインして作成する方法を示す。

コマンドラインから作成する方法

コマンドラインからオーナーに postgres を指定してデータベース hogehoge を作成。

$ createdb hogehoge -O postgres;
  • -O [オーナー] or (--owner)
    • 作成するデータベースの所有者となるユーザを指定

PostgreSQL にログインして作成する方法

PostgreSQL にログインしてオーナーに postgres を指定してデータベース hogehoge2 を作成。

$ psql -Upostgres
psql (10.2)
Type "help" for help.

postgres=# create database hogehoge2 owner=postgres;
CREATE DATABASE

データベースの一覧を確認

前掲の psql メタコマンド ¥l でデータベースの一覧を確認すると

postgres=# \l
                                    List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |     Access privileges     
-----------+----------+----------+-------------+-------------+---------------------------
 hogehoge  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 hogehoge2 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 postgres  | ${USER}  | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 template0 | ${USER}  | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/"${USER}"            +
           |          |          |             |             | "${USER}"=CTc/"${USER}"
 template1 | ${USER}  | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/"${USER}"            +
           |          |          |             |             | "${USER}"=CTc/"${USER}"
(4 rows)

先程作成したデータベース hogehogehogehoge2 がオーナー postgres で作成されていることが確認できる。

まとめにかえて

PostgreSQL を macOS ( High Sierra ( 10.13.x ) ) にインストールしてユーザ作成 〜 DB 作成まで確認できた。
これで PostgreSQL の実行環境が取り敢えずは整ったので、あとはマニュアルに沿ってテーブル作成するなりしてアプリ作成に利用する。

参考

42
40
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
42
40