如何为 postgresql jdbc 数据源启用故障转移

How to enable failover for a postgresql jdbc data source

我在 Postgresql 的 Liberty 应用服务器中定义了一个数据源

<dataSource jdbcDriverRef="PostgreSQLDriver" ...>
  <properties password="..." user="admin" serverName="server" portNumber="2020" databaseName="dbname" ssl="false"
</dataSource>

我看到我可以通过指定 url 来在 jdbc 连接上启用故障转移:

jdbc:postgresql://host1:port,host2:port,host3:port/dbname

有什么方法可以将此故障转移 url 提供给应用程序服务器数据源?

是的,您可以在 <properties> 元素上指定任何 key/value 对,Liberty 会将其提供给供应商数据源 class。在这种情况下,属性 将是 URL="jdbc:postgresql://host1:port,host2:port,host3:port/dbname"

此外,请注意,在较新版本的 Liberty 中,有一个 properties.postgresql 特定于 Postgres 和更好的 documents 可用设置。

这是一个例子,

<dataSource jdbcDriverRef="PostgreSQLDriver" ...>
  <properties.postgresql password="..." user="admin" URL="jdbc:postgresql://host1:port,host2:port,host3:port/dbname" ssl="false"
</dataSource>