postgresqlでDBが作れなかったのを解決(してもらった)
コミュニティ開発しているプロジェクトで、githubログインを実装してくださったプルリクを確認しようと思い、ローカルにプルリクの内容を持ってきて確認しようとしました。
そしたらpostgresqlでデータベースが作成できないエラーにぶつかりました。。。
その解決方法についてのメモです。
postgresqlでデータベースが作成できないエラー
postgresqlでデータベースを作成しようとしたら、以下のエラー文が出てきました。。。
~/p/t/vimate (add_github_login|✚1…) $ rake db:create
/Users/hayashiyoshino/projects/tama/vimate/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/lib/rake/version.rb:3: warning: already initialized constant Rake::VERSION
略
/Users/hayashiyoshino/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rake-12.3.2/lib/rake.rb:71: warning: previous definition of RakeFileUtils was here
could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?
Couldn't create 'vimate_development' database. Please check your configuration.
rake aborted!
PG::ConnectionBad: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?
略
Tasks: TOP => db:create
(See full trace by running task with --trace)
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?というエラー文をググったところ、
brew services restart postgresql
とすると直ったと複数記事で書いてあったため実行しました。
しかし、psql コマンドで接続できるか確かめてみても失敗してしまいます。。。
その後、brew uninstall --force postgresql コマンドでアンインストール、
brew install postgresql コマンドでインストール、
ということを何度か繰り返しますが、状況は変わらず。。。
ここまでで数時間費やしましたw
ログの確認と原因
そして!!Asakusarbの今日取り組んだこと発表で、エラーで詰まっていることを述べたところ、
エラーを見て下さりました!!!
まず、ログを見たほうがいいとのことで、
/usr/local/var/log/postgresql の中を確認してみました。
すると、エラーの原因が書いてありました。。。!!!
postgresqlのデータディレクトリがバージョン10なのに、バージョン11のpostgresqlも入ってしまっていたせいで上手く行かなかったようです。
brew install でバージョン10のpostgresqlを入れ直すか、
データディレクトリを消してどちらも11をインストールし直す必要があるとのことでした。
データディレクトリ削除 & brew uninstall
別に大事なデータは入っていないので、データディレクトリを消すことにしました。
rm -rf /usr/local/var/postgres コマンドでデータディレクトリを消します。
brew uninstall --force postgresql コマンドでhomebrewの方も消します。
再インストール & データディレクトリ作成
そしてbrew install postgresql コマンドで再インストールします。
initdb /usr/local/var/postgresql コマンドでデータディレクトリも作り直します。
PostgreSQLサーバ起動
PostgreSQLサーバの起動を行います。
パスを通す
そして最後にfishの設定ファイルにパスを追記してあげます。
vimで設定ファイルを開きます。
~ $ vim ~/.config/fish/config.fish
以下の内容を追記します。
export PGDATA="/usr/local/var/postgres"
読み込ませます。
~ $ source ~/.config/fish/config.fish
db作成成功
ここまで行い、やっとデータベースをpostgresqlで作成することができました!!!
無事、確認したかったプルリクの内容を確認することができました!!!
Asakusarbの優しい方々のおかげで、postgresqlとhomebrewについて色々知ることができました!!
postgresqlのスラックも教えていただき参加したので、もっと理解を深めていかねばと思います!!