Rails 如何在 Rails 中使用 Postgres.app?

Blues · 2013年10月20日 · 最后由 Blues 回复于 2013年10月25日 · 4820 次阅读

RT,看到很多文章介绍在 rails 中怎么使用 postgresql,但是都是使用 homebrew 去安装的 postgresql,但是那个大象(Postgres.app)我还是很喜欢的,不需要编译那么多东西,直接就 ok 乐。

但是不知道在 rails 中怎么使用这个形式的 postgresql,比如在 config/database.yml 中登陆的 username 和 password,还有就是我使用

Rails new my_app --database postgresql 去创建乐一个 app 之后,用 rails s 出现问题: /Users/user/.rvm/gems/ruby-2.0.0-p0/gems/pg-0.17.0/lib/pg.rb:4:in `require': dlopen(/Users/user/.rvm/gems/ruby-2.0.0-p0/gems/pg-0.17.0/lib/pg_ext.bundle, 9): Library not loaded: /Users/user/.rvm/lib/libpq.5.6.dylib (LoadError) Referenced from: /Users/user/.rvm/gems/ruby-2.0.0-p0/gems/pg-0.17.0/lib/pg_ext.bundle

看起来好像是和一些 postgresql 的安装文件有关,请问该怎么解决这些问题,使我们在 rails 项目直接使用 postgres.app 去作为数据库呢?

可能问题有点菜,见笑乐! 求大虾指点,谢谢!

文档里面写的很清楚。 http://postgresapp.com/documentation#toc_3 In config/database.yml, use the following settings:

development:
  adapter: postgresql
  database: [YOUR_DATABASE_NAME]
  host: localhost

#1 楼 @chunlea 谢谢,我看了这个,也试了,但是他让我输入用户名和密码,我不知道这个在哪里,因为我从没创建过 postgresql 的用户名和密码,不知道怎么回事? 我到 Stackoverflow 上查了下,说是有一个默认的用户名密码,但那是在使用 homebrew 安装的时候会有这个输入提示,直接使用 postgres.app 就没有这个提示,不知道这个用户名和密码来自于哪里? 我直接看这里:http://postgresapp.com/documentation#toc_3 他说“When Postgres.app first starts up, it creates the $USER database, which is the default database for psql when none is specified. The default user is $USER, with no password.”,难道是这个?但是我试了也不行啊! 谢谢!

#2 楼 @Blues mac 下也有同样问题,换 ubuntu 直接安装的 postgresql 就好了。。我的建议是直接下载官方的,比如这里。 http://www.enterprisedb.com/products-services-training/pgdownload#osx

#3 楼 @small_fish__ Thanks,我确实是用的 iMac.下载下来试试。疑问:那个 postgres.app 也是官方的啊,这个把我搞迷糊了,难道不是?

#2 楼 @Blues 我不知道你这边到底除了什么问题……我贴一下我的database.yml

development:
  adapter: postgresql
  encoding: unicode
  database: my_app_development
  host: localhost
  # pool: 5
  # username: my_app
  # password:

test 环境差不多,就不贴了。 测试过,真的没问题。

#5 楼 @chunlea 不是 yml 的问题,是根本装了后,不知道帐号密码是多少,设置了下,也每成功,果断卸载了,

#4 楼 @Blues postgres.app 我怎么觉得是 heroku 的东西呢?嘻嘻

#5 楼 @chunlea @small_fish__ 谢谢!我的情况和@small_fish__一样,不是 yml 的问题,是下载了 postgres.app 然后双击运行,就看到一个大象在最上面的任务栏出现了,然后在 activity 就看到了 5432 的端口被占用。但是我使用 rails new 一个 app 之后,把 yml 修改得和@chunlea一样,但是 bundle 就出现上面帖子原文的错误,有一次不知道怎么回事,bundle 成功之后打开 localhost:3000 就出现错误,提示 pg 不能连接上。这才是我一直的疑问。 @small_fish__ 是 heroku 的东西吗?我一直以为是 postgresql 官方的呢,额弱了!

#6 楼 @small_fish__ 帐号是你的登录用户名,没有密码……点击open psql可以看到。 他遇到的问题好象是 Rails server 启动的时候,数据库没有链接上吧。个人感觉 Postgres.app 还是不错的。 是 Heroku 出的,没错

#7 楼 @Blues 我是看到http://postgresapp.com/ 写的 support heroku .. #8 楼 @chunlea 谢谢,,就是数据库没有连接上,但是服务是启动了的。

帐号是你本机的用户名,密码为空

#11 楼 @chunlea 我就是觉得 Postgres.app 很好,我才对它这么感兴趣的,之前 homebrew 需要安装大堆东西,看着都不舒服,而且更麻烦是,在 stackoverflow 和一些 blog 上看到的都是教你怎么安装 postgres.app,而且统一都是 homebrew,没人发现 postgres.app 这样的形式很好吗?还是他们遇到了和我一样的问题就放弃了? @small_fish__ 我的也是数据库没连接上。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号