如何为 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>
我在 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>