はじめに
今回は、M1 MacにPostgreSQLをインストールし、ログインしていきます。
参考にしていた記事や参考書にはWindowsでのインストール方法しか記載がなく、少し手間取ったため忘備録を残しておきます。
Macのスペック
MacBook Air M1, 2020
OS : macOS Ventura Version13.1
チップ:Apple M1
メモリ:8GB
PostgreSQLをインストールしていく
主に以下の記事を参考に進めていきました。
この記事によると、「PostgreSQLのインストール方法はいくつかあるが、Homebrewでインストールした方が簡単で、アップデートの際にも問題が起きない」とのことでした。
参考記事
STEP1 - Homebrewをインストールする
公式ページのトップにあるコマンドをコピーして実行します。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
STEP2 - PostgreSQLをインストールする
Homebrewのインストールが完了したら、PostgreSQLをインストールしていきます。
以下のコマンドを実行してください。
brew install postgresql
STEP3 - PC起動時に自動的にPostgresサーバーを起動するようにする
次に、以下のコマンドを実行すると、PC起動時にPostgresサーバーも起動するようになります。
brew services start postgresql
STEP4 - インストールできたか確認する
インストールできたか確認していきましょう。
以下のコマンドを実行してみてください。
psql -d postgres
実行結果が、次の通りになるとインストールできています。
以下のような結果にならない場合があります。
上記のコマンドを実行すると、パスワードを求められ、
正しいパスワードを入力したにもかかわらず、
エラーが起きることがあります。
その場合はもう一度STEP2からやり直してみてください。
psql (14.6 (Homebrew))
Type "help" for help.
postgres=#
確認ができたら、接続を切って大丈夫です。
PostgreSQLの接続を切るには、以下の2通りありますのでお好きな方を使ってください。
postgres=# \q
または
postgres=# ¥q
STEP5 - 設定ファイルを変更する
とある参考書によると、設定ファイルの書き換えが必要とのことでした。
これもターミナル上で行っていきます。
まず、PostgreSQLの接続を切ってから、以下のコマンドを実行してください。
psql -c 'SHOW config_file' -d postgres
そうすると、以下のようにファイルのパスが表示されます。
config_file
-----------------------------------------
/opt/homebrew/var/postgresql@14/postgresql.conf
このパスをコピーして、以下のコマンドを実行します。
sudo vim /opt/homebrew/var/postgresql@14/postgresql.conf
すると、ターミナル上にファイルの中身が以下のように表示されるはずです。
このファイルの「listen_addresses='*'」これを
「listen_addresses='localhost'」と変更しましょう。
※私の場合はデフォルトで変更後の状態になっていました。
vimのコマンド
iで入力開始
:wで保存
ZZで上書き保存し、vimを終了
さらに知りたい人はこちらの記事がおすすめです。
よく使う Vim のコマンドまとめ
STEP6 - 完了!!
これでインストール、ログインが完了しました!お疲れ様でした😉
試しにもう一度ログインしてみましょう。
今度はデータベース名、ユーザー名を指定してログインしていきます。
ちなみに、「データベースなんてまだ作ってないんだけど」と思った方いるかもしれませんが、
デフォルトで「postgres」というデータベースがすでに準備されています。
また、「ユーザー名なんて設定してないんだけど」と思ったかもしれません。
ちょっと確認してみましょう!
データーベース一覧とOwnerを確認する
以下のコマンドを実行してみましょう。
psql -l
すると結果はこのようになるはずです。
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+------------+----------+---------+-------+---------------------------
postgres | xxxxxxxxxx | UTF8 | C | C |
template0 | xxxxxxxxxx | UTF8 | C | C | =c/xxxxxxxxxx +
| | | | | xxxxxxxxxx=CTc/xxxxxxxxxx
template1 | xxxxxxxxxx | UTF8 | C | C | =c/xxxxxxxxxx +
| | | | | xxxxxxxxxx=CTc/xxxxxxxxxx
Ownerの欄に記載がある名前がユーザー名です。
ユーザー名を確認したらこのコマンドを実行してみましょう。
psql -d postgres -U ユーザー名
以下のような結果になれば、、、再度接続できました!!
psql (14.6 (Homebrew))
Type "help" for help.
postgres=#
おわり
Windowsでのインストール方法の記載は多かったので少し惑わされてしまいました。
結構違いがあることを学びました😅
いつか誰かのお役に立てたら幸いです。