データベースの検証等でMacにPostgreSQLをインストールしたい方向けにインストール手順と起動・停止・スーパーユーザ追加についてまとめます📝
1.インストール
Macのパッケージ管理システムであるHomebrewを使って、PostgreSQLをインストールするんだ。
以下のコマンドを叩けばオッケー😃
$ brew install postgresql
インストールが成功したか確認してみよう👀
$ brew list | grep postgres
レスポンス結果: postgresql@バージョン数
#こちらでも👌
$ postgres --version
レスポンス結果: postgres (PostgreSQL) 14.9 (Homebrew)
# またはこちらでも👌
# brew info postgresql
レスポンス結果:
==> postgresql@14: stable 14.10 (bottled)
Object-relational database system
https://www.postgresql.org/
/usr/local/Cellar/postgresql@14/14.9 (3,316 files, 44.6MB) *
Poured from bottle using the formulae.brew.sh API on 2023-09-18 at 22:55:09
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/p/postgresql@14.rb
License: PostgreSQL
==> Dependencies
Build: pkg-config ✔
Required: icu4c ✔, krb5 ✔, lz4 ✔, openssl@3 ✘, readline ✔
==> Caveats
This formula has created a default database cluster with:
initdb --locale=C -E UTF-8 /usr/local/var/postgresql@14
For more details, read:
https://www.postgresql.org/docs/14/app-initdb.html
To restart postgresql@14 after an upgrade:
brew services restart postgresql@14
Or, if you don't want/need a background service you can just run:
/usr/local/opt/postgresql@14/bin/postgres -D /usr/local/var/postgresql@14
==> Analytics
install: 41,865 (30 days), 148,736 (90 days), 461,549 (365 days)
install-on-request: 40,952 (30 days), 144,962 (90 days), 450,226 (365 days)
build-error: 28 (30 days)
2.起動と停止
インストールは終わったけど、これだけではPostgreSQLを操作できないんだ😅
使えるようにするには自動起動の設定が必要だ☝️
※ 自動起動ってのは、Macを再起動してもPostgreSQLが自動で起動して、いつでも使えるようになる設定のことだね📝
PostgreSQLを自動で立ち上げる🚀
$ brew services start postgresql
PostgreSQLを停止する🫷
$ brew services stop postgresql
自動起動しているかどうか、または停止しているかを確認する👀
$ brew services list
レスポンス結果:
Name Status User File
dbus none
mysql none
php none
postgresql@14 started izumi ~/Library/LaunchAgents/homebrew.mxcl.postgresql@14.plist
unbound none
# ========================================================================================
# 上記のコマンドでもいけるが他のサービスも混ざってわかりづらい場合もあるかと思う、そんな時は下記のように
# grepで 絞り込みすると良いだろう☝️
# ========================================================================================
$ brew services list | grep postgres
レスポンス結果 :
# 起動している場合
postgresql@14 started # 起動してる
# 起動していない場合
postgresql@14 stopped # 停止している
PostgreSQLにログインしてみる🤩
(base) User名@macbook-pro ~ % psql -U <macOSのUser名> postgres
psql (14.9 (Homebrew))
Type "help" for help.
postgres=#
# exitでpostgreSQLから抜ける
postgres=# exit
(base) User@macbook-pro ~ %
今回は例でmacOSのユーザからログインしたが、”postgres”ユーザーは権限がかなり大きいんだ🙅
何でもやりたい放題で、普段使いにはちょっとリスクがある。だから、安全のために新しく作ったユーザーにスーパーユーザー権限を与えて使うべきなので、postgreSQLに初めてログインしたら新しくユーザーを作成しスーパーユーザー権限を与え、その作成したユーザでログインし直して操作をするのが最適解だ☝️