0

PostgreSQL のドキュメントには、HA セットアップで使用するために JDBC 文字列で複数のホストを渡すことができることが示されています (ページの下部): https://jdbc.postgresql.org/documentation/head/connect.html

私のセットアップには、PostgreSQL サーバーが実行されている 3 つのノードがあります。pgpool-II を使用して HA を実装しました。マスター ノードと 2 つのスタンバイ ノードがあります。

次の休止状態のプロパティを使用すると、うまく機能します。

<property name="hibernate.connection.url">jdbc:postgresql://10.200.0.50:5432,10.200.0.51:5432,10.200.52:5432/replicationtest</property>

私のアプリケーションはクラスターに接続し、たとえば 10.200.0.50 がダウンしている場合、他のアドレスのいずれかを使用します。

しかし、私の質問はこれです、使用後:

SessionFactory sf = new Configuration().configure().buildSessionFactory();
Session s = sf.openSession();

セッションが接続を開いた JDBC 接続文字列からどのホストを確認できますか?

コード:

s.doWork(connection -> System.out.println(connection.getMetaData().getURL())); 

3 つのノードすべてを含む元の JDBC 文字列が返されます。

4

0 に答える 0