2

Heroku で Postgresql を使用しようとしています。http://www.enterprisedb.com/products-services-training/pgdownloadからダウンロードしたインストーラーを使用して Postgres 9.1.4 をインストールしました。次に、/etc/profileの場所をに追加しましpsqlPATH。Herokuでシェルを使用しようとするとpsql、セグメンテーション エラーが発生しますが、ローカルで使用しようとすると問題なく動作するようです。

[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 上にあります。

4

4 に答える 4

1

Heroku サポートに連絡したところ、Homebrew (http://mxcl.github.com/homebrew/) 経由で Postgres をインストールするよう提案されました。これを実行すると、Heroku データベースにアクセスできるようになりました。

于 2012-08-14T17:29:45.433 に答える
1

前述のように、引数を指定して psql コマンドを使用することは間違いありません。したがって、Heroku 側で実際に問題が発生しているとは思いません。明らかに修正された psql のバグがあったようです。そのため、ローカルの postgres を更新することでおそらくうまくいくはずだと思います (とにかく、これまでに話したすべての人に問題が修正されたようです.

于 2012-08-21T16:18:26.763 に答える
1

私もこの問題を抱えています:psqlローカルで動作しますが、 heroku pg:psql. Postgres 9.1.3 (インストーラーはまだ利用可能)にダウングレードすると解決することがわかりました。

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 が使用しますが、通常は localhost への接続では使用されません)。

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

psqlHeroku への接続が成功すると、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=>

それ以上は調べていません。

于 2012-08-16T04:20:53.630 に答える
1

私はまったく同じ問題を抱えていました。Heroku のアドバイスに従って、postgres 9.1.4 から 9.1.5 に更新したところ、「heroku pg:psql」が正常に動作するようになりました。

于 2012-08-20T23:14:00.423 に答える