2012-08-06 102 views
2

我试图在Heroku中使用Postgresql。我使用从http://www.enterprisedb.com/products-services-training/pgdownload下载的安装程序安装了Postgres 9.1.4。然后在我的/etc/profile中,我将psql的位置添加到我的PATH。当我尝试使用与Heroku的的psql壳我得到一个分段错误,但它似乎很好地工作,当我尝试在本地使用它:尝试在Heroku上用OSX启动psql时出现分段错误Snow Leopard(10.6.8)

[Sun Aug 05 20:17:47] : which psql 
/Library/PostgreSQL/9.1/bin/psql 
[Sun Aug 05 20:22:15] : heroku pg:psql 
psql (9.1.4) 
Segmentation fault 
[Sun Aug 05 20:22:21] : psql -U postgres 
Password for user postgres: 
psql (9.1.4) 
Type "help" for help. 

postgres=# \q 
[Sun Aug 05 20:22:29] : heroku version 
heroku-toolbelt/2.30.2 (universal-darwin10.0) ruby/1.8.7 

我也注意到,heroku version显示ruby/1.8.7,但我使用rvm use 1.9.3。这个Ruby不匹配会成为问题吗?如果是这样,我该如何解决它?由于分段错误错误信息非常模糊,我不确定下一步该怎么做。这全部在Mac OS X 10.6.8上。

+1

我认为像这些问题是为什么Heroku出来Postgres.app - http://postgresapp.com/ – Qsario 2012-08-06 03:38:55

+0

@Qsario,谢谢你的提示。不幸的是,似乎Postgres.app需要狮子(10.7),所以我可以'在我的机器上尝试它,因为我仍然在Snow Leopard(10.6.8)上。 – user1002119 2012-08-06 17:00:57

回答

1

我联系了Heroku支持,他们建议通过Homebrew安装Postgres(http://mxcl.github.com/homebrew/)。我做了这个,现在我可以访问我的Heroku数据库。

1

我也有这个问题:psql本地工作,但段错误heroku pg:psql。我发现降级到Postgres 9.1.3(installer still available)解决了它。

它看起来像heroku pg:psql命令只是适当的命令行参数来调用psql,不知何故在通过密码,我可以重现该问题没有heroku命令是这样的:

psql -U random_username -h ec2-10-10-10-10.compute-1.amazonaws.com -p 5432 random_dbname 
Password for user random_username: 
psql (9.1.4) 
Segmentation fault 

所以出现的问题所在在psql二进制文件中。我看着核心转储的堆栈跟踪,它出现的问题是什么东西在SSL处理(其中Heroku的使用,但通常不与本地主机连接使用):

#0 0x00000001000da622 in SSL_get_current_cipher() 
#1 0x0000000100007415 in printSSLInfo() 
#2 0x00000001000073c6 in connection_warnings() 
#3 0x00000001000141dd in main() 

这是有道理的因为成功的psql连接到Heroku的不吐出一个关于SSL加密连接线:

heroku pg:psql --app wattdepot-kukuicup-uhm-staging 
psql (9.1.3, server 9.1.4) 
SSL connection (cipher: DHE-RSA-AES256-SHA, bits: 256) 
Type "help" for help. 

random_dbname=> 

我没有调查任何进一步的比。

1

我有完全相同的问题。关于Heroku的建议,我刚刚从postgres 9.1.4更新到9.1.5,现在“heroku pg:psql”正常工作。

1

我们绝对只是提到了带有参数的psql命令,因此我并不认为Heroku方面有什么错误。这似乎是psql中的一个bug,显然已经修复了,所以我认为更新你的本地postgres应该可以做到这一点(它似乎已经修复了我迄今为止所讨论过的关于它的所有内容)

相关问题