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

とすると直ったと複数記事で書いてあったため実行しました。

gyazo.com

しかし、psql コマンドで接続できるか確かめてみても失敗してしまいます。。。

 

その後、brew uninstall --force postgresql コマンドでアンインストール、

brew install postgresql コマンドでインストール、

ということを何度か繰り返しますが、状況は変わらず。。。

 

 

 

ここまでで数時間費やしましたw

 

 

ログの確認と原因

そして!!Asakusarbの今日取り組んだこと発表で、エラーで詰まっていることを述べたところ、

エラーを見て下さりました!!!

 

まず、ログを見たほうがいいとのことで、

/usr/local/var/log/postgresql の中を確認してみました。

gyazo.com 

すると、エラーの原因が書いてありました。。。!!!

postgresqlのデータディレクトリがバージョン10なのに、バージョン11のpostgresqlも入ってしまっていたせいで上手く行かなかったようです。

 

brew install でバージョン10のpostgresqlを入れ直すか、

データディレクトリを消してどちらも11をインストールし直す必要があるとのことでした。

 

 

データディレクトリ削除 &  brew uninstall

別に大事なデータは入っていないので、データディレクトリを消すことにしました。

rm -rf /usr/local/var/postgres コマンドでデータディレクトリを消します。

gyazo.com

 

brew uninstall --force postgresql コマンドでhomebrewの方も消します。

gyazo.com

 

 

再インストール & データディレクトリ作成

そしてbrew install postgresql コマンドで再インストールします。

gyazo.com

 

initdb /usr/local/var/postgresql コマンドでデータディレクトリも作り直します。

gyazo.com

 

 

PostgreSQLサーバ起動

PostgreSQLサーバの起動を行います。

 

gyazo.com

 

 

パスを通す

そして最後にfishの設定ファイルにパスを追記してあげます。

vimで設定ファイルを開きます。

~ $ vim ~/.config/fish/config.fish

 

以下の内容を追記します。

export PGDATA="/usr/local/var/postgres"

 

読み込ませます。

~ $ source ~/.config/fish/config.fish

 

 

db作成成功

ここまで行い、やっとデータベースをpostgresqlで作成することができました!!!

gyazo.com

 

無事、確認したかったプルリクの内容を確認することができました!!!

gyazo.com

 

 

Asakusarbの優しい方々のおかげで、postgresqlとhomebrewについて色々知ることができました!!

postgresqlのスラックも教えていただき参加したので、もっと理解を深めていかねばと思います!!

t.co