问题描述
我在连接到部署在 AWS Aurora 上的 Postgres 数据库时遇到了一个尴尬的问题。 Mac OS 上的 R 使用 DBI 和 RPostgres 框架进行的连接尝试被拒绝,并显示以下消息:
Error: server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
连接是通过:
conn <- DBI::dbConnect(
drv = RPostgres::Postgres(),dbname = 'xxx',host = 'xxx',port = 5432,user = 'xxx',password = 'xxx')
对此问题进行故障排除后发现 - 所有系统都运行相同版本的 R (4.0.4)、DBI (1.1.1)、RPostgres (1.3.2) 和 Rcpp (1.0.6):
- 从 centos7 发行版运行连接工作正常
- 从 Windows 10 运行连接工作正常
- 从 osx 10.15.7 运行与 RPostgres 的连接失败
- 从 osx 10.15.7 运行与 RPostgresSQL 的连接成功
- 通过 Python 客户端(sql alchemy)连接成功
- netcat 确认从 osx 10.15.7 成功连接
很遗憾,我负担不起迁移到 RPostgresSQL 的费用,我需要解决当前在 Mac 上使用 RPostgres 连接到 Amazon RDS 时遇到的问题。
其他有用信息:
- 我试图在 Arora 上访问的同一个数据库可以在 Centos7 发行版上正常访问
- 两个数据库实例之间的唯一区别似乎是编码:SHOW SERVER_ENCODING 在 Centos 实例上返回 SQL_ASCII,在 aurora 集群上返回 UTF8。不过,据我所知,RPostgres 强制使用 UTF8,我在 Mac 上的本地环境也设置为 UTF8。
我不是数据库管理方面的专家,非常感谢任何解决此问题的建议。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)