首页 > 解决方案 > 服务器从 12 升级到 13 和 32 位应用程序的问题

问题描述

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

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

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

标签: postgresqlpostgresql-13

解决方案


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

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

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


推荐阅读