PostgreSQL 13+: "[FireDAC][Phys][PG][libpq] authentication method 10 not supported." error

Here is infomation for all users that intend to use mAirList with version 13 and later of the PostgreSQL server:

PostgreSQL 13 (and later) uses the new scram-sha-256 password encryption by default, something that is not supported by the libpq.dll client library shipped with mAirList by the time of this writing (v6.3.6).

Thus, you will see the following error:

[FireDAC][Phys][PG][libpq] authentication method 10 not supported.

We are going to ship an updated libpq.dll in the near future. Until then, you can perform the following steps to work around the problem:

  • Edit postgresql.conf on the server, and change password_encryption = 'scram-sha-256' to password_encryption = 'md5'
  • Make sure md5 is used in pg_hba.conf for the authentication line that refers to your IP network.
  • Restart PostgreSQL service.
  • If the SQL user (login role) for your mAirList database has already been created, reset its password, so it is saved in md5 format.

Update 2021-10-28:

Here is a newer version of libpq.dll that should support the new scram-sha-256 password scheme: http://download.mairlist.com/other/libpq-13/libpq.dll

Just replace the existing libpq.dll file in your mAirList program folder (usually C:\Program Files (x86)\mAirList x.x).

Update 2020-10-22:

As the above DLL did not work for everyone, here is a complete package of a libpq.dll (32bit, version 10.8-2) along with all other DLLs it depends on:
libpq10.zip

To unstall it, download libpq10.zip, unzip and copy all content to your mAirList program folder C:\Program Files (x86)\mAirList x.x, overwriting the existing libpq.dll.

Unlike the previous version currently shipped with mAirList, this new libpql.dll may require that you install the Microsoft Visual C++ Redistributable (vcredist) package if it is not installed on your computer yet. You can download it here:

Important: You need to install the x86 (32-bit) version of vcredist, even if your Windows system is 64-bit.

If vcredist 2013 is missing, you will see the following message when connecting to your mAirListDB database:

[FireDAC][Phys][PGSQL]-314. Cannot load vendor library [LIBPQ.DLL]. The specified module could not be found. Check [LIBPQ.DLL], which is located in one of the PATH directories or in application EXE directory.

This may be slightly misleading, as the libpq.dll file itself is present, it is just a dependency (vcredist) that is actually missing.

We will not ship this new version by default at this point, as the vcredist dependency is likely to break the installation for many existing users, and most are using older PostgreSQL server versions (below 13) anyway.

1 Like