gpt4 book ai didi

ruby-on-rails - Postgresql Rails 的问题

转载 作者:行者123 更新时间:2023-11-29 12:13:23 26 4
gpt4 key购买 nike

运行时遇到问题:

rake db:create:all

我目前有:

$ psql --version
psql (PostgreSQL) 9.3.0

$ which psql
/Applications/Postgres.app/Contents/MacOS/bin/psql

并得到:

$ rake db:create:all
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"?
/Users/stephanecedroni/.rvm/gems/ruby-1.9.3-p392/gems/activerecord-3.2.14/lib/active_record/connection_adapters/postgresql_adapter.rb:1222:in `initialize'
/Users/stephanecedroni/.rvm/gems/ruby-1.9.3-p392/gems/activerecord-3.2.14/lib/active_record/connection_adapters/postgresql_adapter.rb:1222:in `new'
/Users/stephanecedroni/.rvm/gems/ruby-1.9.3-p392/gems/activerecord-3.2.14/lib/active_record/connection_adapters/postgresql_adapter.rb:1222:in `connect'
/Users/stephanecedroni/.rvm/gems/ruby-1.9.3-p392/gems/activerecord-3.2.14/lib/active_record/connection_adapters/postgresql_adapter.rb:324:in `initialize'
/Users/stephanecedroni/.rvm/gems/ruby-1.9.3-p392/gems/activerecord-3.2.14/lib/active_record/connection_adapters/postgresql_adapter.rb:28:in `new'
/Users/stephanecedroni/.rvm/gems/ruby-1.9.3-p392/gems/activerecord-3.2.14/lib/active_record/connection_adapters/postgresql_adapter.rb:28:in `postgresql_connection'
/Users/stephanecedroni/.rvm/gems/ruby-1.9.3-p392/gems/activerecord-3.2.14/lib/active_record/connection_adapters/abstract/connection_pool.rb:315:in `new_connection'
/Users/stephanecedroni/.rvm/gems/ruby-1.9.3-p392/gems/activerecord-3.2.14/lib/active_record/connection_adapters/abstract/connection_pool.rb:325:in `checkout_new_connection'
.....
.....

尝试卸载并重新安装 pg gem,但仍然无法正常工作。

首先尝试按照 Ryan Bates 的截屏视频进行操作,但遇到了一些问题,然后检查了 Heroku Postgres 建议设置此路径:

PATH="/Applications/Postgres.app/Contents/MacOS/bin:$PATH"

最佳答案

可能是 rake 试图连接到 /var/pgsql_socket/.s.PGSQL.5432 但域套接字实际上在其他地方。我的位于 /tmp/.s.PGSQL.5432。你可以试试这些:

在 database.yml 中指定 host: localhost。例如:

development:
host: localhost
# other stuff

/var/pgsql_socket/ 中创建一个指向 .s.PGSQL.5432 实际所在位置的符号链接(symbolic link)。

mkdir /var/pgsql_socket
ln -s /tmp/.s.PGSQL.5432 /var/pgsql_socket/.s.PGSQL.5432

您可能还必须对链接进行 chown 和 chmod。我不确定您是否还必须链接 .s.PGSQL.5432.lock。

第一个选项要容易得多。不确定哪个更好。

关于ruby-on-rails - Postgresql Rails 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19246793/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com