💨

postgresql@14 error 512 に対してpostgresqlのログを確認する

2024/03/01に公開

はじめに

homebrewにpostgresqlインストールして開発を進めていたのですが、接続Errorなど不具合があった際に、何が原因かがわからなかった。そのため、ログを確認したかったが、そもそもログの確認方法がわからなかったので、今回はローカル環境のpostqresqlのログの確認方法を備忘録として残した。

この記事でわかること

  1. ローカル環境のpostgresqlのログを確認できる

完成イメージ

こんな感じでpostgresqlのログが確認できる。

手順

エラーの確認

% brew services list
Name          Status     User          File
postgresql@14 error  512 ************* ~/Library/LaunchAgents/homebrew.mxcl.postgresql@14.plist

なるほど
https://zenn.dev/treefield/articles/a1723d4532749d
この記事によるとhomebrewの512のerrorの原因は/tmpへの書き込みがうまくいっていないらしい。
権限回りなのかなと思い、一通りやってみたがダメだった。

ログの確認

homebrewにインストールしたpostgersqlのログは
/usr/local/var/log
で確認できるらしい。

username ~ $cd /usr/local/var/log

で階層を移動し

ls

ファイル確認。

ほう。どうやら、postgresqlのログがありそう。
中身をVSCodeで見てみる。

 code .

↓↓VSCode

おお!
なんかそれっぽいエラーがでてる。

postgres: could not access directory "/usr/local/var/postgresql@14": No such file or directory
Run initdb or pg_basebackup to initialize a PostgreSQL data directory.

どうやら、/usr/local/var/postgresql@14ファイルかディレクトリがないからアクセスできなかったとある。
だからinitdbpg_basebackupをしろよ!!ってことらしい。

試しに

initdb

をしてみるとエラーは解決され、

% brew services list
Name          Status     User          File
postgresql@14 started ************* ~/Library/LaunchAgents/homebrew.mxcl.postgresql@14.plist

となりました。
ログを確認すると

おお!
ちゃんと動いている。

まとめ

ってことで、今回は
/usr/local/var/log
にあるhomebrewにインストールしたpostgresqlのログを確認することで

postgresql@14 error  512 ************* ~/Library/LaunchAgents/homebrew.mxcl.postgresql@14.plist

の原因がわかり、

initdb

をすることで解決しました。

ちなみに

initdb

とは下記記事によれば

initdbとは、PostgreSQLのデータベースクラスタを新しく作成するためのコマンドです。

https://qiita.com/takada-syunya/items/98eb24ff76e99e1c54a9#:~:text=initdbとは、PostgreSQLの,するためのコマンドです。

どうやら

initdbは新しいデータベースクラスターを作成し、
PostgreSQLがデータを保存するための基礎構造(ディレクトリやファイル)を準備するコマンド。

らしいが、今回はそのディレクトがないよってことなので、initdbで作れよ!ってことらしかったです。

Discussion