【问题标题】:How to connect postgresql database on remote server rails如何在远程服务器rails上连接postgresql数据库
【发布时间】:2018-10-08 21:10:56
【问题描述】:

我正在尝试从本地计算机连接到远程服务器。这是我的 database.yml 文件的样子:

development:
  adapter: postgresql
  encoding: unicode
  database: db_name
  username: mac
  password: mac
  host: 178.XXX.XXX.XXX
  port: 5432
  pool: 10
  timeout: 5000

我编辑了 pg_hba.conf 来获取我的 ip 地址:

local   all             all                                     trust
# IPv4 local connections:
host    all             all            35.XXX.XX.XX/32          trust

# IPv6 local connections:
host    all             all             ::1/128                 trust

远程服务器托管在 AWScentos 6 AMI 上。下面的入站规则被添加到它的安全组中。

但我不断收到以下错误:

PG::ConnectionBad: could not connect to server: Connection refused
    Is the server running on host "<HOST NAME>" (178.XXX.XXX.XXX) and accepting
    TCP/IP connections on port 5432?

对于检查的日志/var/lib/pgsql/9.6/data/pg_log,但是没有创建日志。

运行 netstat -ntlp 告诉服务器正在监听 5432 端口

我在这里遗漏了什么或做错了什么吗? 请帮忙

【问题讨论】:

  • 首先,能否确认一下Postgres进程是否在远程服务器上运行?
  • 是的,它正在运行

标签: ruby-on-rails ruby postgresql centos


【解决方案1】:

检查我昨天的回答。有一个过程如何发现连接到远程 PostgreSQL 数据库的问题:

Remote PostgreSQL connection

您发布的错误与 Ruby on rails 无关。这是错误 PostgreSQL 设置的标准问题。首先尝试 psql,它应该显示与您发布的相同的错误

如果您有问题,请写评论。我敢打赌,问题是因为您忘记在postgresql.conf 中设置listen_address"'*',因为您没有在答案中提及这一点。

【讨论】:

  • 嗨 Bulva,我也添加了 listen_address 并按照您的回答,但我仍然遇到相同的连接错误。
  • 所以尝试重新启动 PostgreSQL 服务并检查 /var/logs/syslog 或 /var/logs/posgresql 中的日志。也许您是否尝试像其他答案一样设置 pg_hba.conf ?可能你的ip弄错了
  • 您好,非常感谢您的支持,这是防火墙问题。我禁用了防火墙并且它起作用了。 :)
  • 好的。所以不要忘记你不应该为所有端口禁用防火墙。最好为 posgresql 打开输入/输出端口
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多