1

postgres を Lion で動作させようとしています。rake:db create を実行すると、次のようになります。

could not connect to server: Permission denied
Is the server running locally and accepting
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?

同じ問題に関するSOトピックがたくさんありますが、解決策はどれもうまくいきませんでした。これが私が試したことです:

  • pg gemをアンインストールして再インストールしました
  • postgres.app をインストールしました (ローカル サーバーに接続しても、pg は動作しません)
  • usr/local/bin が usr/bin の上になるようにパス ファイルを更新しました。
  • var/pgsql_socket の権限を全員の読み取り/書き込みに変更しました

ヒントになる可能性があるのは、どの psql を実行すると結果が usr/bin/psql になるかということです。これは usr/local/bin/psql を意味していると思いますが、パス ファイルを直接編集した後、理由がわかりませんそれは変わっていません。Homebrew も完全に正常に動作しています (パスの問題はありません)。

何か案は?

編集 - 私のdatabase.ymlの内容:

development:
adapter: postgresql
encoding: unicode
database: hubbed_development
pool: 5
username: hubbed
password:
host: localhost

test:
adapter: postgresql
encoding: unicode
database: hubbed_test
pool: 5
username: hubbed
password:

production:
adapter: postgresql
encoding: unicode
database: hubbed_production
pool: 5
username: hubbed
password:

編集 - ps aux | を実行した後 grep postgres:

 666   0.0  0.0  2445588    540   ??  Ss    9:42am   0:00.00 postgres: checkpointer process      
 664   0.0  0.1  2445588   3604   ??  S     9:42am   0:00.02 /Applications/Postgres.app/Contents/MacOS/bin/postgres -D /Users/angsmith/Library/Application Support/Postgres/var -p5432
 681   0.0  0.0  2434892    540 s000  S+    9:43am   0:00.00 grep postgres
 670   0.0  0.0  2441868    396   ??  Ss    9:42am   0:00.00 postgres: stats collector process      
 669   0.0  0.0  2445720   1524   ??  Ss    9:42am   0:00.00 postgres: autovacuum launcher process      
 668   0.0  0.0  2445588    488   ??  Ss    9:42am   0:00.00 postgres: wal writer process      
 667   0.0  0.0  2445588    524   ??  Ss    9:42am   0:00.01 postgres: writer process  

編集-postgress.appで私のユーザー名が「postgres」であることがわかりました。database.yml ユーザー名を postgres に更新し、bundle exec rake db:create:all を実行した後、次のエラーが表示されるようになりました (以前とは異なります)。

 rake aborted!
 dlopen(/Users/angsmith/.rvm/gems/ruby-1.9.3-p374/gems/pg-0.14.1/lib/pg_ext.bundle, 9): Library not loaded: /usr/local/lib/libpq.5.5.dylib
 Referenced from: /Users/angsmith/.rvm/gems/ruby-1.9.3-p374/gems/pg-0.14.1/lib/pg_ext.bundle
 Reason: image not found - /Users/angsmith/.rvm/gems/ruby-1.9.3-p374/gems/pg-0.14.1/lib/pg_ext.bundle
 /Users/angsmith/.rvm/gems/ruby-1.9.3-p374/gems/pg-0.14.1/lib/pg.rb:4:in `require'
 /Users/angsmith/.rvm/gems/ruby-1.9.3-p374/gems/pg-0.14.1/lib/pg.rb:4:in `<top (required)>'
 /Users/angsmith/.rvm/gems/ruby-1.9.3-p374/gems/bundler-1.2.3/lib/bundler/runtime.rb:68:in `require'
 /Users/angsmith/.rvm/gems/ruby-1.9.3-p374/gems/bundler-1.2.3/lib/bundler/runtime.rb:68:in `block (2 levels) in require'
 /Users/angsmith/.rvm/gems/ruby-1.9.3-p374/gems/bundler-1.2.3/lib/bundler/runtime.rb:66:in `each'
 /Users/angsmith/.rvm/gems/ruby-1.9.3-p374/gems/bundler-1.2.3/lib/bundler/runtime.rb:66:in `block in require'
 /Users/angsmith/.rvm/gems/ruby-1.9.3-p374/gems/bundler-1.2.3/lib/bundler/runtime.rb:55:in `each'
 /Users/angsmith/.rvm/gems/ruby-1.9.3-p374/gems/bundler-1.2.3/lib/bundler/runtime.rb:55:in `require'
 /Users/angsmith/.rvm/gems/ruby-1.9.3-p374/gems/bundler-1.2.3/lib/bundler.rb:128:in `require'
 /Users/angsmith/hubbedspree/config/application.rb:7:in `<top (required)>'
 /Users/angsmith/hubbedspree/Rakefile:5:in `require'
 /Users/angsmith/hubbedspree/Rakefile:5:in `<top (required)>'
 /Users/angsmith/.rvm/gems/ruby-1.9.3-p374/bin/ruby_noexec_wrapper:14:in `eval'
 /Users/angsmith/.rvm/gems/ruby-1.9.3-p374/bin/ruby_noexec_wrapper:14:in `<main>'
 (See full trace by running task with --trace)
4

2 に答える 2

0

のエントリにdevelopmentは行がありますが、とhost: localhostの構成では欠落しています。testproduction

3 つのデータベースが同じサーバー上にある場合は、すべての構成に含める必要があります。

于 2013-02-15T23:05:05.660 に答える