- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前在 Amazon RDS 上设置了 PostgreSQL 数据库。数据库连接到运行 Rails 应用程序的 Elastic Beanstalk 服务器,并且 Rails 应用程序可以正常工作(在生产站点上,我可以很好地修改数据库。我也可以通过 SQL 工作台很好地查看数据库,并且我可以看到我在生产站点上所做的更改反射(reflect)在数据库中)。
所以我知道数据库工作正常,我的弹性 beanstalk 服务器连接到它很好,我的 Rails 应用程序连接到它也很好。
但是,当我尝试通过我的 EC2 实例连接到数据库时(注意:此实例与我的 EB 和 RDS 实例(弗吉尼亚北部)位于不同的区域(俄亥俄州),我收到此错误:
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
会产生此错误。当我在生产环境中运行 Rails 控制台并尝试查看属于数据库的任何内容时,也会出现该错误。
这是我的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 数据库。
我已尝试编辑我的 RDS 的安全规则以接受来自 EC2 的公共(public) IP 的 PostgreSQL 连接,但这似乎不起作用。
谁能帮我解决这个问题?
编辑:
好的,我可以使用带有指定服务器选项的 psql
命令连接到远程数据库。我通过执行一个简单的查询对其进行了测试,我确信连接已建立。不过,我现在不确定如何让服务器自动连接到它。
最佳答案
看起来您的应用程序正在尝试连接到本地主机上的 PostgreSQL;看起来你的 config/database.yml
文件是正确的,因为它正在寻找环境变量 RDS_HOSTNAME
- 所以我最好的猜测是你没有设置它并且它默认为您的本地主机,因为它是空的。
您需要设置此环境变量以及此处说明的其他项目(数据库、用户、密码和端口)才能使其正常工作。
This StackOverflow answer说明如何为 Elastic Beanstalk 设置环境变量。
关于postgresql - 无法通过 EC2 连接到 Amazon PostgreSQL RDS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47545364/
我正在开发一个 voip 调用应用程序。我需要做的是在接到来电时将 Activity 带到前台。我在应用程序中使用 Twilio,并在收到推送消息时开始调用。 问题是我试图在接到任何电话时显示 Act
我是一名优秀的程序员,十分优秀!