質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

4640閲覧

RailsがPostgreSQLのエラーで起動できない。PG::ConnectionBad could not connect to server: 〜 "/tmp/.s.PGSQL.5432"?

shisha

総合スコア86

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2021/03/18 22:45

編集2021/03/19 03:54

Railsを立ち上げるとPostgreSQLのエラー

他の方のRailsアプリをコードリーディングしようとcloneして起動させようとしています。
少し古いRails 5アプリなのですが起動させようとすると、以下のようなエラーがでます。

PG::ConnectionBad at / could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

スクリーンショットでは、下記です。
![Image from Gyazo]

PostgreSQLのバージョンがあってないのかなと思うのですが、何を見てどのように対応させていいのかわかりません。
お力添えよろしくお願いできませんでしょうか。

ログ

少し調べると、次のログ・ファイルの中身を見ると良さそうなので、ログを見ました。

$ cat /usr/local/var/log/postgres.log
でlogファイルを確かめると、直近で以下のログがたくさん記録されていました。

dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.67.dylib Referenced from: /usr/local/opt/postgresql/bin/postgres Reason: image not found

ログのエラーについて調べてみるようにアドバイスをもらい、調べました。
macでdyld: Library not loadedが出るので対処する | このコードわからん
このページに従って、ディレクトリを見てます。バージョンが合ってなさそうです。

$ ls /usr/local/opt/icu4c/lib/ +[master] icu libicutest.68.2.dylib libicudata.68.2.dylib libicutest.68.dylib libicudata.68.dylib libicutest.a libicudata.a libicutest.dylib libicudata.dylib libicutu.68.2.dylib libicui18n.68.2.dylib libicutu.68.dylib libicui18n.68.dylib libicutu.a libicui18n.a libicutu.dylib libicui18n.dylib libicuuc.68.2.dylib libicuio.68.2.dylib libicuuc.68.dylib libicuio.68.dylib libicuuc.a libicuio.a libicuuc.dylib libicuio.dylib pkgconfig

さらに調べてみます。

$ brew info icu4c +[master] icu4c: stable 68.2 (bottled) [keg-only] C/C++ and Java libraries for Unicode and globalization http://site.icu-project.org/home /usr/local/Cellar/icu4c/67.1 (258 files, 71.2MB) Poured from bottle on 2020-08-04 at 20:19:20 /usr/local/Cellar/icu4c/68.2 (259 files, 72.5MB) Poured from bottle on 2021-03-12 at 06:09:28 From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/icu4c.rb License: ICU ==> Caveats icu4c is keg-only, which means it was not symlinked into /usr/local, because macOS provides libicucore.dylib (but nothing else). If you need to have icu4c first in your PATH, run: echo 'export PATH="/usr/local/opt/icu4c/bin:$PATH"' >> ~/.zshrc echo 'export PATH="/usr/local/opt/icu4c/sbin:$PATH"' >> ~/.zshrc For compilers to find icu4c you may need to set: export LDFLAGS="-L/usr/local/opt/icu4c/lib" export CPPFLAGS="-I/usr/local/opt/icu4c/include" For pkg-config to find icu4c you may need to set: export PKG_CONFIG_PATH="/usr/local/opt/icu4c/lib/pkgconfig" ==> Analytics install: 531,300 (30 days), 1,081,958 (90 days), 4,871,049 (365 days) install-on-request: 15,806 (30 days), 26,964 (90 days), 141,229 (365 days) build-error: 0 (30 days)

調整した方がよさそうだなと思ったところで、他に悪影響がでそうで、どう調整しようか一旦思いとどまっている段階です。

その他のバージョン

Gemfile

1source 'https://rubygems.org' 2git_source(:github) { |repo| "https://github.com/#{repo}.git" } 3 4ruby '2.5.1' 5 6gem 'rails', '~> 5.2.0' 7gem 'pg', '>= 0.18', '< 2.0' 8gem 'puma', '~> 3.11'
$ psql --version psql (PostgreSQL) 13.1

5432が専有されてないか調べる

よくわかってないですが、5432ポートが専有されてないか調べてみたところ、特に専有はされてなさそうでした。

$ netstat -a | grep :5432

特に何も表示されず、待機してる感じでした。

$ lsof -i :5432 $ sudo lsof -i :5432

こちらも何も表示されずでした。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

FKM

2021/03/19 00:03

netstatなどで5432ポートを他が占領していないか確かめてみましょう。
shisha

2021/03/19 01:20 編集

ありがとうございます。自分なりに確かめたところ、(間違ってるかもしれませんが)占領はなさそうでした。もしかしたらさきほど通知がいったかもしれませんが、下の方に追記しました。
FKM

2021/03/19 02:33

dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.67.dylib Referenced from: /usr/local/opt/postgresql/bin/postgres Reason: image not found でググってみたらどうでしょうか?
guest

回答1

0

自己解決

rails db:createをしなかったのが問題だったように思います。
いつもSQLite3を使っていて、rails db:createが不要だったので、気がつきませんでした。

投稿2021/04/14 03:17

shisha

総合スコア86

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問