ruby-on-rails - 连接到 PostgreSQL 数据库时出现 Rails 问题

标签 ruby-on-rails macos postgresql

尝试让 Rails 在 mac osx 10.8 上与 postgresql 一起运行以部署到 heroku。我是 mac 的新手。

在安装 PostgrSQL 时遇到了很多麻烦,所以我可能在尝试搜索该主题时可以找到的所有潜在解决方案时搞砸了一些事情。这似乎主要是权限和现有的 OSX 安装。对于这个问题,我注意到一些事情让我觉得存在一些我不确定如何解决的基本目录或版本冲突。但我可能是错的,这是另外一回事!任何方向表示赞赏。

检索这样的错误:

$ rake db:create:all
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"?

我不确定它在哪里以及为什么要寻找 var 目录,但是 ~/var 似乎是一个链接(别名)到/private/var(它有空的 pgsql_socket 和 pgsql_socket_alt 目录),/usr/local/var没有 pgsql_socket 目录,但有一个 postgres 目录。我的管理员用户的这两个目录都具有来自 finder 获取信息对话框的读写权限。

上面显示的错误之后是 gems 1.8 目录中的一个长堆栈,并以此结束:

Couldn't create database for {"pool"=>5, "database"=>"blog_development", "password"=>nil, "username"=>"USERNAME", "encoding"=>"unicode", "adapter"=>"postgresql"}

所以检查:

   $ which psql
/usr/bin/psql

我确实记得在安装 postgresql 之后我这样做了:

  initdb /usr/local/var/postgres -E utf8

确认:

$ ps aux | grep postgres
username           346   0.0  0.1  2479616   7724   ??  S     3:08PM   0:00.03 /usr/local/bin/postgres -D /usr/local/var/postgres -r /usr/local/var/postgres/server.log

捆绑显示产量:pg (0.14.1)

$ postgres --version
postgres (PostgreSQL) 9.2.1

echo $PATH 没有显示任何对 posgresql 的引用。 此应用位于/Users/USERNAME/SUBDIR/APP 中。

Andy 关于我哪里搞砸了以及如何让这些东西启动并运行的想法?我会很感激任何方向。我会继续处理堆栈溢出和谷歌讨论;尽管我的愚蠢可能是独一无二的!

谢谢。

最佳答案

添加

host: localhost

到数据库.yml

关于ruby-on-rails - 连接到 PostgreSQL 数据库时出现 Rails 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12772864/

相关文章:

ruby-on-rails - 在 Savon gem 中使用带参数的多个参数

html - 有没有办法让 Rails 辅助函数不生成 XHTML 而生成 HTML?

ruby-on-rails - 调试器不会安装 Rails 4.1.5

ruby-on-rails - 向作用域添加参数

python - 通过 _kMDItemUserTags 或 kMDItemOMUserTags 在 xattr 中使用多个关键字

c++ - operator= on pointers 可能导致 mac 上的段错误

sql - 如何通过 Postgres 中的检查约束来验证 URL?

ruby-on-rails - ActionView::Template::Error 未定义方法

python - 尝试在 Windows : AttributeError: 'Settings' object has no attribute 'DATABASES' 上设置 Django 时

ruby-on-rails - 下面的 SQL 行中的 "::int[]"意味着什么?