私は現在Amazon RDSでPostgreSQLデータベースをセットアップしています。データベースは、Railsアプリケーションを実行するElastic Beanstalkサーバーに接続されており、Railsアプリケーションは正常に動作します(本番サイトではデータベースを正常に変更できます)。また、SQLワークベンチ上のデータベースを正常に表示できます。生産現場で行った変更がデータベースに反映されていることがわかります)。EC2経由でAmazon PostgreSQL RDSに接続できません
私はデータベースが正しく動作していること、そして弾力のあるbeanstalkサーバーがうまく接続していることを知っています。また、私のRailsアプリケーションも正しく接続しています。
私は私のEC2インスタンス(ノート経由でデータベースに接続しようとすると、ただし、このインスタンスは私のEBおよびRDSインスタンスとは異なる地域(オハイオ州)である(N.バージニア州)、私はこのエラーを取得:
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
ディレクトリ/var/run/postgresql
が存在するが、そのファイルが存在しません。私は、ルートからそのファイルを探してみました、そしてそれはどこにも存在していないことが判明。
私がする必要があるので、これは問題ですリモートでデータベースをシードでき、rake db:seed
をコンソールから実行しようとすると、このエラーが発生します。 ja実稼働環境でレールコンソールを実行し、データベースの一部であるものを表示しようとします。
これは私のconfig/database.yml
ファイルです:
default: &default
adapter: sqlite3
pool: 5
timeout: 5000
development:
<<: *default
database: db/development.sqlite3
test:
<<: *default
database: db/test.sqlite3
production:
<<: *default
adapter: postgresql
encoding: unicode
database: <%= ENV['RDS_DB_NAME'] %>
username: <%= ENV['RDS_USERNAME'] %>
password: <%= ENV['RDS_PASSWORD'] %>
host: <%= ENV['RDS_HOSTNAME'] %>
port: <%= ENV['RDS_PORT'] %>
これは、EBは、展開時にPGのデータベースに接続するために知っている方法です。
EC2のパブリックIPからのPostgreSQL接続を受け入れるように私のRDSのセキュリティルールを編集しようとしましたが、動作していないようです。
誰もがこれを手伝ってくれますか?
編集:
[OK]を、私はちょうど罰金サーバーを指定するオプションでpsql
コマンドを使用してリモート・データベースに接続することができます。私は単純なクエリを実行することによってそれをテストし、接続が確立されていると確信しています。私は現在、サーバーに自動的に接続するように指示する方法は不明です。
どのように接続しますか?正確なコマンドを入力します。教育的な推測:あなたは接続するホストを指定しません。 – zerkms
@zerkms投稿を編集しました。エラスティックBeanstalkはデプロイ時にサーバに接続します – Tetramputechture
'psql'コマンドはどこにありますか? – zerkms