服务器从 12 位升级到 13 位和 32 位应用程序时出现问题

Problem with server upgrade from 12 to 13 and 32-bit applications

我有一个 64 位 Postgres 服务器和 32 位 Windows 应用程序。在我将 Postgres 从 12 升级到 13 之前,这一直运行良好。新服务器运行良好,但应用程序在登录时引发错误 authentication method 10 not supported

我编辑了 13/data/pg_hba.conf,将所有条目中的身份验证方法从 scram-sha-256 替换为 md5,并重新启动了服务器,但问题仍然存在。

我想我需要一个新版本的 32 位 libpq.dll 但在 Postgres 10 中找不到比这个更新的版本。两个问题。 libpq.dll 的较新版本可以解决问题吗?如果是这样,我在哪里可以找到它?

该问题类似于 PostgreSQL authentication method 10 not supported 中描述的问题。在我的案例中,另一个困难是由于 64 位与 32 位不兼容,我无法从服务器安装中获取 dll。我刚刚找到了一个解决方案 post 它可能对处于相同情况的其他人有用。

this page 下载 Postgres 10.17 Win x86-32 的二进制文件。您可以在 lib 文件夹中找到文件 libpq.dll,但它还不够,因为它需要另外两个(新)库:libcrypto-1_1.dlllibssl-1_1.dll。复制库并提供给您的 32 位应用程序。这三个库是正确登录所必需的。 lib 文件夹包含您的应用程序可能需要的更多库。

请注意,身份验证方法 scram-sha-256md5 更安全,因此没有理由按照问题中描述的方式替换它。