【问题标题】:PostgreSQL: could not connect to server: Connection timed outPostgreSQL:无法连接到服务器:连接超时
【发布时间】:2015-05-14 09:40:01
【问题描述】:

我一直在尝试切换到 PostgreSQL(从 SQLite)。我在Cloud9的环境中开发。但是,在数据库迁移时,我收到 错误消息

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 startsudo 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 = '*',但这并没有什么区别。

什么可能导致错误消息?

【问题讨论】:

    标签: ruby-on-rails database postgresql cloud9-ide


    【解决方案1】:

    您确定您的 cloud 9 已打开 postgres 端口(5432) 以供访问吗?我假设 cloud 9 主机没有监听端口 5432。您可以查看此链接了解详细信息

    http://www.cyberciti.biz/tips/postgres-allow-remote-access-tcp-connection.html

    【讨论】:

    • 我从那里了解到我需要更改文件 pg_hba.conf. However, I can't open the file. Running SHOW hba_file;` 产生/var/lib/postgresql/9.3/main/pg_hba.conf (所以文件存在)但是如何打开它? (它在文件树中不可见)。
    • Cloud9 本身基本上没有说明需要对其进行更改以侦听端口:docs.c9.io/v1.0/docs/setting-up-postgresql
    • 这是什么意思?如果我在终端中输入sudo sudo -u postgres psql(这意味着我获得了sudo 访问权限?)然后输入vim /var/lib/postgresql/9.3/main/pg_hba.conf,则什么也不会发生。只有postgres=# 更改为postgres-#
    • 宁可 sudo nano /var/lib/postgres/9.3/main/pg_hba.conf 也可以。
    • 谢谢,经过反复试验,sudo nano /etc/postgresql/9.3/main/pg_hba.conf 打开了文件。不确定要对配置文件应用哪些更改(将文件添加到原始帖子中)。
    猜你喜欢
    • 2019-10-18
    • 2020-12-14
    • 1970-01-01
    • 2019-10-08
    • 1970-01-01
    • 2020-01-24
    • 1970-01-01
    • 2015-11-14
    • 2017-08-02
    相关资源
    最近更新 更多