LoginSignup
6
2

More than 1 year has passed since last update.

【忘備録】M1 MacにPostgreSQLをインストールし、ログインする

Last updated at Posted at 2023-02-02

はじめに

今回は、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

すると、ターミナル上にファイルの中身が以下のように表示されるはずです。
スクリーンショット 2023-02-02 14.02.30.png

このファイルの「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でのインストール方法の記載は多かったので少し惑わされてしまいました。
結構違いがあることを学びました😅
いつか誰かのお役に立てたら幸いです。

6
2
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
6
2