我一直在尝试切换到PostgreSQL(来自SQLite)。我正在开发Cloud9环境。但是,在db迁移时,我收到错误消息:
PG :: ConnectionBad:无法连接到服务器:连接超时。 服务器是否在主机“mydomain.c9.io”(IP地址)上运行 接受端口5432上的TCP / IP连接?
我一直在阅读有关此主题的各种先前提出的问题,但没有成功。有没有人看到可能出现的问题?
我是否需要更改 pg_hba.conf 文件?该文件的当前版本:
# Database administrative login by Unix domain socket
local all postgres peer
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all xxx.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication postgres peer
#host replication postgres xxx.0.0.1/32 md5
#host replication postgres ::1/128 md5
database.yml中:
default: &default
adapter: postgresql
encoding: unicode
host: 'mydomain.c9.io'
pool: 5
username: my_username
password: my_password
development:
<<: *default
database: app_development
test:
<<: *default
database: app_test
production:
<<: *default
database: app_production
我在 Gemfile 中有gem 'pg'
并且已经运行bundle install
。此外,我创建了数据库 app_development(使用sudo service postgresql start
,sudo sudo -u postgres psql
然后create database "app_development";
)以及数据库app_test。最后,我在psql中使用CREATE USER my_username SUPERUSER PASSWORD 'my_password';
创建了一个新用户。
使用sudo nano /etc/postgresql/9.3/main/postgresql.conf
我也设置listen_addresses = '*'
,但这没有任何区别。
可能导致错误消息的原因是什么?
答案 0 :(得分:0)
您确定您的云端9已打开postgres端口(5432)以进行访问吗?我假设云端9主机没有侦听端口5432.您可以查看此链接以了解详情
http://www.cyberciti.biz/tips/postgres-allow-remote-access-tcp-connection.html