web-dev-qa-db-ja.com

接続が拒否されました(PGError)(postgresqlおよびRails)

「$ Rails」を使用してローカルホストを実行しようとすると、このエラーが発生し続けます。

(Mac OSX 10.8.3)(Ruby 2.0.0p195(2013-05-14リビジョン40734)[x86_64-darwin12.3.0])(Rails 3.2.11)(psql(PostgreSQL)9.2.2)**自作でインストール

私はpostgresqlのアンインストールと再インストールをたくさん行っているので、どこかに競合するライブラリがあるかもしれないという予感があります...どこから始めればよいのかわかりません。

Postgresql 9.1と9.2を同じフォルダに入れて、9.1をゴミ箱に移動しました。

ターミナルで「Rails」を実行したときの出力は次のとおりです

Danny$ Rails s
^[b=> Booting Thin
=> Rails 3.2.11 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
Exiting
/Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/activerecord-3.2.11/lib/active_record/connection_adapters/postgresql_adapter.rb:1208:in `initialize': could        not connect to server: Connection refused (PGError)
Is the server running on Host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port 5433?
could not connect to server: Connection refused
Is the server running on Host "localhost" (::1) and accepting
TCP/IP connections on port 5433?
could not connect to server: Connection refused
Is the server running on Host "localhost" (fe80::1) and accepting
TCP/IP connections on port 5433?
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/activerecord-3.2.11/lib/active_record/connection_adapters/postgresql_adapter.rb:1208:in `new'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/activerecord-3.2.11/lib/active_record/connection_adapters/postgresql_adapter.rb:1208:in `connect'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/activerecord-3.2.11/lib/active_record/connection_adapters/postgresql_adapter.rb:326:in `initialize'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/activerecord-3.2.11/lib/active_record/connection_adapters/postgresql_adapter.rb:28:in `new'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/activerecord-3.2.11/lib/active_record/connection_adapters/postgresql_adapter.rb:28:in `postgresql_connection'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/activerecord-3.2.11/lib/active_record/connection_adapters/abstract/connection_pool.rb:315:in `new_connection'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/activerecord-3.2.11/lib/active_record/connection_adapters/abstract/connection_pool.rb:325:in `checkout_new_connection'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/activerecord-3.2.11/lib/active_record/connection_adapters/abstract/connection_pool.rb:247:in `block (2 levels) in checkout'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/activerecord-3.2.11/lib/active_record/connection_adapters/abstract/connection_pool.rb:242:in `loop'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/activerecord-3.2.11/lib/active_record/connection_adapters/abstract/connection_pool.rb:242:in `block in checkout'
from /Users/Danny/.rvm/rubies/Ruby-2.0.0-p195/lib/Ruby/2.0.0/monitor.rb:211:in `mon_synchronize'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/activerecord-3.2.11/lib/active_record/connection_adapters/abstract/connection_pool.rb:239:in `checkout'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/activerecord-3.2.11/lib/active_record/connection_adapters/abstract/connection_pool.rb:102:in `block in connection'
from /Users/Danny/.rvm/rubies/Ruby-2.0.0-p195/lib/Ruby/2.0.0/monitor.rb:211:in `mon_synchronize'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/activerecord-3.2.11/lib/active_record/connection_adapters/abstract/connection_pool.rb:101:in `connection'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/activerecord-3.2.11/lib/active_record/connection_adapters/abstract/connection_pool.rb:410:in `retrieve_connection'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/activerecord-3.2.11/lib/active_record/connection_adapters/abstract/connection_specification.rb:171:in `retrieve_connection'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/activerecord-3.2.11/lib/active_record/connection_adapters/abstract/connection_specification.rb:145:in `connection'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/activerecord-3.2.11/lib/active_record/model_schema.rb:308:in `clear_cache!'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/activerecord-3.2.11/lib/active_record/railtie.rb:97:in `block (2 levels) in <class:Railtie>'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/activesupport-3.2.11/lib/active_support/callbacks.rb:418:in `_run__3642716200177086041__prepare__4186317719333288752__callbacks'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/activesupport-3.2.11/lib/active_support/callbacks.rb:405:in `__run_callback'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/activesupport-3.2.11/lib/active_support/callbacks.rb:385:in `_run_prepare_callbacks'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/activesupport-3.2.11/lib/active_support/callbacks.rb:81:in `run_callbacks'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/actionpack-3.2.11/lib/action_dispatch/middleware/reloader.rb:74:in `prepare!'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/actionpack-3.2.11/lib/action_dispatch/middleware/reloader.rb:48:in `prepare!'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/railties-3.2.11/lib/Rails/application/finisher.rb:47:in `block in <module:Finisher>'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/railties-3.2.11/lib/Rails/initializable.rb:30:in `instance_exec'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/railties-3.2.11/lib/Rails/initializable.rb:30:in `run'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/railties-3.2.11/lib/Rails/initializable.rb:55:in `block in run_initializers'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/railties-3.2.11/lib/Rails/initializable.rb:54:in `each'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/railties-3.2.11/lib/Rails/initializable.rb:54:in `run_initializers'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/railties-3.2.11/lib/Rails/application.rb:136:in `initialize!'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/railties-3.2.11/lib/Rails/railtie/configurable.rb:30:in `method_missing'
from /Users/Danny/Dropbox/programming/coding/f_app/config/environment.rb:7:in `<top (required)>'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:251:in `require'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:251:in `block in require'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:236:in `load_dependency'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:251:in `require'
from /Users/Danny/Dropbox/programming/coding/f_app/config.ru:3:in `block in <main>'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/rack-1.4.5/lib/rack/builder.rb:51:in `instance_eval'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/rack-1.4.5/lib/rack/builder.rb:51:in `initialize'
from /Users/Danny/Dropbox/programming/coding/f_app/config.ru:in `new'
from /Users/Danny/Dropbox/programming/coding/f_app/config.ru:in `<main>'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/rack-1.4.5/lib/rack/builder.rb:40:in `eval'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/rack-1.4.5/lib/rack/builder.rb:40:in `parse_file'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/rack-1.4.5/lib/rack/server.rb:200:in `app'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/railties-3.2.11/lib/Rails/commands/server.rb:46:in `app'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/rack-1.4.5/lib/rack/server.rb:304:in `wrapped_app'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/rack-1.4.5/lib/rack/server.rb:254:in `start'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/railties-3.2.11/lib/Rails/commands/server.rb:70:in `start'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/railties-3.2.11/lib/Rails/commands.rb:55:in `block in <top (required)>'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/railties-3.2.11/lib/Rails/commands.rb:50:in `tap'
from /Users/Danny/.rvm/gems/Ruby-2.0.0-p195/gems/railties-3.2.11/lib/Rails/commands.rb:50:in `<top (required)>'
from script/Rails:6:in `require'
from script/Rails:6:in `<main>'
13
Daniel Gaeta

エラーメッセージは重要です。

could not connect to server: Connection refused
Is the server running on Host "localhost" (::1) and accepting
TCP/IP connections on port 5433?

ポート

間違ったポートに接続しようとしている可能性があります。
標準ポートは5432です。 postgresサーバーをどのように(そしてまったく)起動したかを確認してください。

postgres@db:~$ ps -auxww | grep ^postgres
... <stripped more lines>
postgres  1274  0.0  0.3 1437240 57308 ?       S    May27   5:01 /usr/lib/postgresql/9.1/bin/postgres -D /var/lib/postgresql/9.1/main -c config_file=/etc/postgresql/9.1/main/postgresql.conf

マニュアルには関連情報がここにあります。

私の例では、/etc/postgresql/9.1/main/postgresql.confの設定が使用されました。これは、(他の多くの設定の中でも)次のようになっています。

port = 5432

または実行

netstat -nlp | grep postgres

または、ここを見てください(少なくともDebianまたはUbuntuでは):

ls -lA /var/run/postgresql/

新しいデータベースクラスターを作成すると、PostgreSQLは次の空きポートを選択します。繰り返しインストールしたため、ポート番号がわかりにくい場合があります。

listen_addresses

または、 TCP/IP接続を許可するのを忘れた 。これらの関連する回答の詳細:
パスワードなしでpsqlコマンドを使用してバッチファイルを実行
- pg_hba.confの「ローカル」接続タイプと「ローカルホスト」接続タイプの違いは何ですか?
- ホストのpg_hba.confエントリがありません

20

これで問題が解決する場合があります:-

  • SQLプロンプトでコマンドSHOW config_file;およびSHOW hba_file;を使用して、hba.confファイルのアドレスを取得します。

  • 次に、hba.confを開き、これをHost all all 0.0.0.0/0 trustに追加します。

  • 次に、postgresql.confを開き、listen_address = '*'を追加します。

3
Ankush Sahu

私の場合、この問題は、Ubuntu16.04でpostgresql-9.4がpostgresql-9.5にアップグレードされたことが原因で発生しました。ある時点で2つのバージョンがインストールされていたため、後でインストールされたバージョン、つまりpostgresql-9.5の構成がデフォルトのポート5433に変更されました(標準のデフォルトの5432ではありません)。

私のRailsプロジェクトがpostgresqlのデフォルトポートに接続しようとしたときに(ポートがdatabase.ymlファイルで明示的に定義されていないため)、失敗し続けたときに問題が発生しました。 postgresql-9.4以降。

Postgresqlの設定ファイルを変更するソリューション

解決策は、更新されたpostgresql(9.5)の構成でポートを変更することです。これを行うには、ファイル/etc/postgresql/9.5/main/postgresql.confを開き、行を変更します

port = 5433                             # (change requires restart)

port = 5432                             # (change requires restart)

次に、Sudo service postgresql restartを使用してサーバーを再起動します。

Railsの `database.yml 'ファイルを変更することによる解決策

または、postgresqlの構成ファイルを変更せずに、新しいポート(つまり、database.yml)を明示的に指定することで、Railsの5433ファイルを変更できます。これを行うには、次のような行を追加するだけです

port: 5433

Railsサーバーを再起動します。

2
Anwar
Sudo -u postgres pg_ctlcluster 9.3 main stop

に続く

Sudo -u postgres pg_ctlcluster 9.3 main restart

私のために働いた

2
Chaitanya Yadav

このエラーメッセージが(Jira側から)Jiraに接続された場合、解決策は「データベースサーバーのホスト名またはIPアドレス」を変更することでした。 「localhost」に。ローカルで実行している場合は、ローカルIPアドレスを入力するだけでは不十分です。

また、ローカルインストールの次の問題は、pg_hba.confを編集して認証方法を「信頼」する必要があるため、パスワードが正しい場合でも常に失敗することです。

1
Dark Matter

Postgresql.confで、/ var/lib/pgsql/data/postgresql.conf:
1。 listen_addresses = 'localhost'をlisten_addresses = '*'に変更します
2。デフォルトのポートを5432、ポート= 5432として有効にします
pg_hba.confでも、/ var/lib/pgsql/data/pg_hba.conf:信頼として認証方法を試してください

0
Chandra