2017-01-06 52 views
0

我試圖爲postgresql實現一個偵聽器。當獲得數據庫連接時,如果我連接到本地主機,它將正常工作,但是一旦我將主機更改爲遠程服務器,它將失敗。PGDatasource將不會連接到遠程服務器

@Bean 
public DataSource datasource(){ 
    PGDataSource pgDataSource = new PGDataSource(); 
    pgDataSource.setHost(hostname); 
    pgDataSource.setDatabase(database); 
    pgDataSource.setPassword(password); 
    pgDataSource.setPort(Integer.parseInt(port)); 
    pgDataSource.setUser(user); 
    return pgDataSource; 
} 

application.yml

pg: 
connection: 
    host: 127.0.0.1 
    pwd: test 
    usr: test 
    dbs: test 
    port: 5432 

當我運行正常工作的那些屬性監聽器,但一旦我改變主機失敗。我認爲這可能是ssl,但沒有辦法將ssl設置爲true。

+0

請發表你試圖連接到遠程服務器時收到錯誤? –

+0

com.impossibl.postgres.jdbc.PGSQLSimpleException:連接錯誤:宿主「」沒有pg_hba.conf的條目,用戶「」數據庫「」,SSL關 - 我跟一個DBA,他告訴我我必須啓用ssl,問題是** com.impossibl.postgres.jdbc.PGDataSource **似乎沒有選項來啓用它。 – Marco

回答

0

我得解決這個錯誤。我只需要在其中一個屬性中啓用ssl。我正在PGDataSource中尋找ssl的setter,但由於我沒有找到任何方法來執行它,所以我在數據庫名稱中啓用它。

我做了以下內容:

pg: 
connection: 
    host: remote-host 
    pwd: test 
    usr: test 
    dbs: test?ssl.mode=require 
    port: 5432