Rails app(ItはローカルPostgresqlに接続できません)を実行するたびにこのエラーが発生します)
/Users/leonardo/.rvm/gems/Ruby-1.9.3-p362/gems/activerecord-3.2.11/lib/
active_record/connection_adapters/postgresql_adapter.rb:1208:in `initialize':
could not connect to server: No such file or directory (PG::Error)
Is the server running locally and accepting
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?
私は Postgres.app を使用しています。
走ったら
$ psql
Postgresqlコンソールに適切にログインできます。
$ which psql
/Applications/Postgres.app/Contents/MacOS/bin/psql
Gemfile
source 'https://rubygems.org'
Ruby "1.9.3"
gem 'Rails', '3.2.11'
gem "pg"
database.yml
development:
adapter: postgresql
encoding: unicode
username: leonardo
password:
database: zapping
port: 5432
Postgresql(コンソール)
$ psql
leonardo=# \l
Host: localhost
をdatabase.ymlに追加してみてください。 (ベース: https://stackoverflow.com/a/10793186/919641 )
Pg
gemは、Mac OS XにプリインストールされているPostgreSQL libpqに対してコンパイルされており、新しいバージョンでインストールしたpsql
を使用しています。
これは、TCP/IP接続を指定し、localhost
をdatabase.yml
に追加することで回避できますが、Pg
gemをlibpq
に対してコンパイルする方が適切です。実際に実行しているサーバー。これを行うには、コンパイル前に、PATH
環境変数に正しいpg_config
を含むフォルダーを設定できる必要があります。あなたの場合、それはPostgres.app
内のどこかにあります。
Host: localhost
を追加しても機能しない場合は、postmaster.pid
を削除してください
rm /usr/local/var/postgres/postmaster.pid
Host: localhost
をデータベース構成に追加する必要があります...
Macでも同じ問題が発生しました。私のパスにあったpsqlが正しく機能していなかったことがわかりました。次を入力してpsqlを起動してみてください。
~/projects/some_project/project-Rails$ psql
psql: 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"?
これが表示される場合、パス上のpsqlバイナリがソケットを使用して接続しようとしており、(何らかの理由で)接続できないことを示しています。 pgadmin を既にダウンロードしており、正常に接続していたので、サーバーの問題ではないことがわかりました。
修正したpgsqlの正しいバージョンをPATHに追加して:
export PATH=/Applications/Postgres.app/Contents/MacOS/bin:$PATH
これで、psql(およびRails)は満足です!
これは私の検索結果に表示された最初の投稿であったため、このための更新された修正を投稿することにしました。上記の提案はどれも役に立たなかったので。
brew postgresql-upgrade-database
Postgresqlデータをアップグレードし、古いバージョンを移動しました。 10.4ではなく9.6でした
ソリューションを見つけました こちら
これと同じ問題がありました。実際にpostgresを実行/開始する必要があります。最近、コンピューターでPostgresの実行が停止したはずなので、postgresサーバーを起動して、実行していることを確認する必要がありました。
postgres -D /usr/local/var/postgres
それから、次のコマンド(これはあなたと同じエラーを引き起こしていました)がすべて機能しました:
bundle exec rake db:create db:migrate
bundle exec rspec
この問題がありました。ここでのコメントの1つは、問題の解決に役立ちました。
おかげで、この答えは私がそれを修正するのに役立ちました。私がとった手順は簡単でした:1)gem uninstall pg、2)bundle install、完了。 -ハスロ12年3月3日20:27で
gem uninstall pg
bundle install
find/-name 'postgresql.conf'
netstat -an | grep 5432 #=> /tmp/.s.PGSQL.5432
vi/Users/admin/Library/Application\Support/Postgres93/var/postgresql.conf
FROM: unix_socket_directories = '/ tmp'
TO: unix_socket_directories = '/ var/pgsql_socket'
Sudo mkdir/var/pgsql_socket
Sudo chmod 777/var/pgsql_socket
Herokuに必要なのはこれだけです。
heroku addons:create heroku-postgresql
production:
adapter: postgresql
encoding: unicode
Host: localhost
# For details on connection pooling, see Rails configuration guide
# http://guides.rubyonrails.org/configuring.html#database-pooling
pool: 5
私の問題は、/etc/hosts
ファイルが変更され、この重要なエントリがありませんでした:127.0.0.1 localhost
PostgresアプリがMacで実行されていないという問題がありました...
Macでは、異なるバージョンのpostgresqlがありました。この問題は、brew switch postgresql 9.5.5
(この時点ではバージョン番号は重要ではないと思う)
$ brew switch postgresql 9.5.5
Cleaning /usr/local/Cellar/postgresql/9.6.1
Cleaning /usr/local/Cellar/postgresql/9.6.5
Cleaning /usr/local/Cellar/postgresql/10.2
Cleaning /usr/local/Cellar/postgresql/10.3
Cleaning /usr/local/Cellar/postgresql/9.5.5
Cleaning /usr/local/Cellar/postgresql/9.5.4
ちなみに、すべてのデータは失われます。バージョンを切り替えずにこれを行うための醸造コマンドがあると思いますが、見つけることができませんでした。
OS High Sierra 10.13でも同じ問題が発生しました。バージョン10.4 refをダウンロードしたこのWebサイトの指示に従いました。 https://postgresapp.com/
次に、これをbashプロファイルに追加しました:export PATH = $ PATH:/Library/PostgreSQL/10.4/bin:$ PATH
ターミナルを再起動します。
新しいウィンドウターミナルを開き、次のように入力します。psql -U postgres
その後、次のメッセージが表示されます。psql(10.4)「help」と入力してヘルプを表示します。
postgres =#