Report this

What is the reason for this report?

connecting to database on a different server

Posted on July 25, 2013

I deployed a sample Rails app to a remote server with postgres hosted on the same server. The database.yml file was like this.

production: adapter: postgresql encoding: unicode database: remotepg_production pool: 5 host: localhost username: mrmann password: secret Everything worked fine. I then went into the database.yml file and replaced host: localhost with the ip address of a postgres database on another server host: 178.XXX.XXX like this

production: adapter: postgresql encoding: unicode database: remotepg_production pool: 5 host: 178.XXX.XXX.XXX #ip address of server with other postgres database username: mrmann password: secret When I restarted postgres on the server with the Rails app, the sample application now gave me the ‘something went wrong’ page for Rails.

The username and the password for the username are the same on both dbs. Can you suggest what the problem might be? Thanks



This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Got it to work by reploying the app, which I guess restarted all the related processes. Thanks for your help.

Can you connect to the postgres server from the production webserver? <br> <br>Try “telnet 178.XXX.XXX.XXX 5432” - can it connect or does it timeout?

What’s the output of “nestat -plutn | grep 5432” on the postgres server? Postgres is probably listening locally.

The developer cloud

Scale up as you grow — whether you're running one virtual machine or ten thousand.

Get started for free

Sign up and get $200 in credit for your first 60 days with DigitalOcean.*

*This promotional offer applies to new accounts only.