我无法连接到 Azure PostgreSQL 数据库(或他们称之为“Azure Database for PostgreSQL 服务器”)。
我可以使用 Azure 内部虚拟机中的 psql 连接到它。它看起来像这样:
psql --user=UUU --host=HHH DB
Password for user UUU:
psql (10.10 (Ubuntu 10.10-0ubuntu0.18.04.1))
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
但是当我从家里的机器上尝试完全相同的命令时,它失败了:
psql --user=UUU --host=HHH DB
psql: server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
在 Azure 数据库上连接安全刀片,我有
- 添加了防火墙规则,起始 IP=0.0.0.0,结束 IP=255.255.255.255
- 将“强制 SSL 连接”设置为禁用
- 开启“允许访问 Azure 服务”。
我想不出还有什么可以尝试的。有什么建议吗?
我的家用机器运行的是 Windows+WSL,我正在尝试从 WSL/Ubuntu 18.04 进行连接。我的家用机器的 psql 版本为 11.6。数据库运行的是 PostgreSQL 10。
答案1
Azure 似乎依赖于多租户 Postgres,它需要主机名作为用户字符串的一部分来处理连接。尝试使用用户:user@my-db-subdomain
。