MacにPostgreSQLを直接インストールする機会が稀にあるため、その手順をメモとして残しておきます。
インストール(Homebrew)
インストールできる候補を確認します。
% brew search postgresql
==> Formulae
postgresql@10 postgresql@12 postgresql@14 postgresql@16 postgrest
postgresql@11 postgresql@13 postgresql@15 qt-postgresql
==> Casks
navicat-for-postgresql posture-pal
If you meant "postgresql" specifically:
postgresql breaks existing databases on upgrade without human intervention.
See a more specific version to install with:
brew formulae | grep postgresql@
PostgreSQLをインストールします。今回はバージョン14をインストールしました。
% brew install postgresql@14
==> Downloading https://formulae.brew.sh/api/formula.jws.json
############################################################################################################ 100.0%
==> Downloading https://formulae.brew.sh/api/cask.jws.json
############################################################################################################ 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/postgresql/14/manifests/14.11_1
Already downloaded: /Users/k-abe/Library/Caches/Homebrew/downloads/cc5ce32be3ad755d6853a306c7d20db8221cceaa63708acb1937567a4ab65fda--postgresql@14-14.11_1.bottle_manifest.json
==> Fetching postgresql@14
==> Downloading https://ghcr.io/v2/homebrew/core/postgresql/14/blobs/sha256:d49e8b487d6b7e696e74ebf7d0bddbb9b8c343d
Already downloaded: /Users/k-abe/Library/Caches/Homebrew/downloads/695bc5763b3ab3f65140681669c474e2b18ff40d6ff809534e5436f2105b6d90--postgresql@14--14.11_1.arm64_sonoma.bottle.tar.gz
==> Pouring postgresql@14--14.11_1.arm64_sonoma.bottle.tar.gz
==> Caveats
This formula has created a default database cluster with:
initdb --locale=C -E UTF-8 /opt/homebrew/var/postgresql@14
For more details, read:
https://www.postgresql.org/docs/14/app-initdb.html
To start postgresql@14 now and restart at login:
brew services start postgresql@14
Or, if you don't want/need a background service you can just run:
/opt/homebrew/opt/postgresql@14/bin/postgres -D /opt/homebrew/var/postgresql@14
==> Summary
🍺 /opt/homebrew/Cellar/postgresql@14/14.11_1: 3,319 files, 46MB
==> Running `brew cleanup postgresql@14`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
インストールできる候補を確認するとすでにインストール済みのものには✓が入ります。
% brew search postgresql
==> Formulae
postgresql@10 postgresql@12 postgresql@14 ✔ postgresql@16 postgrest
postgresql@11 postgresql@13 postgresql@15 qt-postgresql
==> Casks
navicat-for-postgresql posture-pal
If you meant "postgresql" specifically:
postgresql breaks existing databases on upgrade without human intervention.
See a more specific version to install with:
brew formulae | grep postgresql@
PostgreSQLコマンドでバージョンを確認すると14.11が入っていました。
% psql --version
psql (PostgreSQL) 14.11 (Homebrew)
サービスの起動
PostgreSQLのデータベースをサービスとして起動します。これにより、オペレーティングシステムを再起動してもPostgreSQLは自動的に起動されます。
% brew services start postgresql@14
==> Successfully started `postgresql@14` (label: homebrew.mxcl.postgresql@14)
サービスの起動状態を確認すると実行中です。
% brew services list
Name Status User File
postgresql@14 started k-abe ~/Library/LaunchAgents/homebrew.mxcl.postgresql@14.plist
以下のコマンドでサービスを停止することもできます。
% brew services stop postgresql@14
Stopping `postgresql@14`... (might take a while)
==> Successfully stopped `postgresql@14` (label: homebrew.mxcl.postgresql@14)
サービスの起動状態を確認するとPostgreSQLの14はnoneとなっています。
% brew services list
Name Status User File
postgresql@14 none
コマンドラインからデータベースに接続
データベースの一覧は以下のコマンドで確認します。
psql -l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+-------+----------+---------+-------+---------------------
postgres | k-abe | UTF8 | C | C |
template0 | k-abe | UTF8 | C | C | =c/"k-abe" +
| | | | | "k-abe"=CTc/"k-abe"
template1 | k-abe | UTF8 | C | C | =c/"k-abe" +
| | | | | "k-abe"=CTc/"k-abe"
(3 rows)
データベースに接続するにはpsqlの後にデータベース名を指定します。
psql (データベース)
psql (14.11 (Homebrew))
Type "help" for help.
postgres=
DB接続を解除するには\dと入力します。
postgres= \q
%
\ はコマンドキーと¥を同時に入力します