PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Der Postgres-SSLMode-Wert ist ungültig, wenn die SSL-Unterstützung nicht mit dem Wrapper für fremde Daten kompiliert wird

Die lokale PostgreSQL-Instanz verwendet die lokale libpq Bibliothek, um sich mit der Remoteinstanz zu verbinden.

Wenn diese Bibliothek zur Kompilierzeit mit --with-openssl konfiguriert wurde (eine Option zum Übergeben an die oberste Ebene ./configure Skript des Postgres-Quellbaums), dann wird es dynamisch mit openssl verknüpft Bibliothek und die Aufrufseiten zum Verschlüsseln einer Sitzung hinzugefügt.

Wurde sie hingegen nicht mit dieser Option konfiguriert, wird die libpq produziert hat überhaupt keine SSL-Fähigkeit, und es ist mit dieser Bibliothek unmöglich, sich mit entfernten Servern zu verbinden, die SSL erfordern.

Laut Fehlermeldung befinden Sie sich im zweiten Fall.

Der einzige Ausweg aus diesem Problem besteht darin, Ihre installierte libpq zu ersetzen Bibliothek durch eine andere, die mit SSL-Unterstützung kompiliert ist, was auch bedeutet, dass Sie OpenSSL auf Ihrem System installiert haben. Kompilieren Sie es entweder selbst oder installieren Sie es je nach Ihren Vorlieben über Pakete. Im Allgemeinen neigen vorkompilierte Versionen von PostgreSQL heutzutage dazu, SSL-Unterstützung zu aktivieren.

Selbst wenn sich libpq-Quellen in der Quelle des Servers befinden, ist es möglich, sie separat zu kompilieren und nur diese Bibliothek unabhängig vom Rest zu verwenden. Dazu gibt es eine Frage:Wie kann man NUR die libpq-Quelle auf einem Server herunterladen, kompilieren und installieren, der KEINE hat PostgreSQL installiert