2016-03-23 5 views
0

Veritabanları arasında bazı verileri aktarmak için yabancı bir veri sarıcı kullanarak uzak bir sunucuya bağlanmayı deniyorum, ancak 'SSLMode Değeri'ni almak için gerekli ke… 'De SSL Desteği Derlenmediğinde Geçersiz.Postgres SSLMode Değeri "required" SSL Desteği Dış Veri Sarıcı Kullanılarak Derlenmediğinde Geçersiz

CREATE SERVER remote FOREIGN DATA WRAPPER postgres_fdw 
OPTIONS(dbname '...', host '...', port '...', sslmode 'require'); 

CREATE USER MAPPING FOR USER SERVER remote 
OPTIONS (user '...', password '...'); 

CREATE FOREIGN TABLE remote.accounts (
    ... 
); 

SELECT * FROM remote.accounts; 

DETAY: Bu parçacıkları koşuyorum olan SSL desteği ben "sslmode=require" kullanarak psql içine bağlayan denedim

derlenmiş değilken sslmode değeri geçersiz "iste" - ama Bu yardımcı görünmüyor. Sunucuyu oluştururken de bayrak olarak sslmode'u ekledim. Bağlandığım postgres örneği, Heroku'da. Uzak sunucuda farklı bir veritabanına bağlanırsam sorgu çalışır, ancak yerel veritabanımdan başarısız olur. SSL desteğinin nasıl derlenemediğini nasıl çözebilirim?

cevap

2

Yerel PostgreSQL örneği, uzak örneğe bağlanmak için yerel libpq kitaplığını kullanır.

Eğer derleme zamanında, o kütüphane (üst seviyeye postgres kaynak ağacının ./configure senaryoyu geçmesi için bir seçenek) --with-openssl ile yapılandırıldı, o zaman dinamik openssl kütüphanelerine bağlı alır ve çağrı siteleri şifrelemek bir oturum eklenir.

Diğer taraftan, bu seçenekle yapılandırılmadıysa, üretilen libpq hiçbir SSL özelliğine sahip değildir ve bu kütüphanenin SSL gerektiren uzak sunuculara bağlanması imkansızdır.

Hata mesajına göre ikinci durumdasınız.

Bu sorundan çıkmanın tek yolu, yüklü olan libpq kitaplığınızı, SSL desteği ile derlenen başka bir sistemle değiştirmektir; bu, sisteminizde OpenSSL'nin yüklü olduğu anlamına da gelir. Tercihlerinizi bağlı olarak ya kendiniz derleyin ya da paketler arasında kurun. Genel olarak, PostgreSQL'in önceden derlenmiş sürümleri, SSL desteklerinin şu günlerde etkin olmasını sağlama eğilimindedir.

Libpq kaynakları sunucunun kaynağının içinde olsa bile, bunları ayrı ayrı derlemek ve yalnızca bu kitaplığı diğerlerinden bağımsız olarak kullanmak mümkündür. Üzerinde bir soru var: How to download, compile & install ONLY the libpq source on a server that DOES NOT have PostgreSQL installed