新しい Rails アプリを Bitnami/Ubuntu/Virtual Server にデプロイしようとしています。私はリモートで、SSH ターミナルを使用しています。
Capistrano を使用して deploy:update を制限することに成功しました。私のソースは github に送られ、Capistrano はそれをサーバーに置きます。
したがって、サーバー上に次のディレクトリがあります。
/opt/bitnami/projects/ndeavor/releases/20130306180756
サーバーでは、PostgreSQL スタックも実行されています。Postgresql ユーザーと空のデータベースを作成しました。次のステップは、SSH コンソールを使用して次のコマンドを実行することだと思います。
bitnami@linux:/opt/bitnami/projects/ndeavor/releases/20130306180756$ rake RAILS_ENV=production db:schema:load
質問 1 = それは正しい次のステップですか?
そのコマンドを実行すると、次のようになります。
could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
質問 2 = どうすれば Rake に PostgreSQL ソケットを見つけさせることができますか?
次のようなものを database.yml ファイルに入れることができます。
socket: /var/pgsql_socket
しかし、正しいエントリがどうあるべきかわかりません
ご協力いただきありがとうございます!!
更新1
また、database.yml ファイルを次のようにしてみました。
production:
adapter: postgresql
encoding: unicode
database: ndeavor_production
pool: 5
username: (user name)
password: (password)
socket: /var/run/postgresql
しかし、同じエラーが発生します。
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
少なくとも Unix ドメインソケット "/var/run/postgresql" を要求しないのはなぜですか??
UPDATE2
私はこれを見つけました:
「私は、postgresql.conf ファイルの unix_socket_directory を /var/run/postgresql と宣言することで問題を解決しました。標準ビルドでは、共通の場所が必要だと思われますか?
変更されていない PG ソースからビルドする場合、デフォルトのソケットの場所は確かに /tmp です。ただし、Debian および関連するディストリビューションは、これが何らかのディストリビューション標準またはその他に違反していると感じているため、ソース コードを変更して、デフォルトの場所を /var/run/postgresql にします。したがって、使用しているビルドによって異なります。」
しかし、postgresql.conf ファイルを変更する必要があるのか、Rails database.yml ファイルを変更する必要があるのかわかりません。
更新3
/var/run/postgresql ディレクトリを調べたところ、空です。
.s.PGSQL.5432 の場所がわかりません