gpt4 book ai didi

azure - 远程访问 Azure Postgres 数据库

转载 作者:行者123 更新时间:2023-12-02 06:28:12 25 4
gpt4 key购买 nike

如何从远程计算机连接到 Azure PostgreSQL 数据库?

更新 2. 我可以使用 sudo psql 从 WSL/Ubuntu 连接到数据库,但无法使用普通的 psql。所以这是某个地方的权限问题...

更新。我发现我可以使用 PgAdmin4 从远程计算机进行连接,但无法使用 psql 进行连接。所以我想知道:我应该如何使用 psql 连接?

原始问题。我可以从 Azure 内的 VM 使用 psql 连接到它,因此我知道数据库已启动并接受连接。但是,当我尝试使用完全相同的 psql 命令从我的家用计算机进行连接时,它失败了:

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数据库的“连接安全” Blade 上,我有

  • 添加了起始 IP=0.0.0.0 和结束 IP=255.255.255.255 的防火墙规则
  • 将“强制 SSL 连接”设置为禁用
  • 开启“允许访问 Azure 服务”。

我的家用计算机正在运行 Windows+WSL,我正在尝试从 WSL/Ubuntu 18.04 进行连接使用 psql 版本 10.11。无论我尝试从家里还是从工作地点进行连接,我都会遇到同样的问题,并且我不会阻止任何传出端口(据我所知)。数据库运行的是 PostgreSQL 10。当我使用 psql 10.10 从 Azure VM 连接(成功)时,它看起来像这样:

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)

最佳答案

也许您的 root 用户使用与您的用户不同的 psql 二进制文件。 (您可以使用which psqlsudo which psql )

我遇到了同样的连接问题。就我而言,基本问题是 postgres 主要版本不匹配。

我使用版本 12 上的本地 psql 连接到版本 11 上的 Azure Postgresql。将本地计算机的 Postgres 版本降级到 11.6 解决了这个问题。

也许您的 root 用户正在使用 psql 10,而您的默认用户正在使用 psql 11 或 12。(您可以使用 psql -Vsudo psql -V 检查这一点)

关于azure - 远程访问 Azure Postgres 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59119766/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com