出于性能原因,我试图限制对数据库的往返行程。目前,我已连接并向postgres发出了一系列语句,例如SET TIMEZONE='America/New_York'
。许多数据库都允许将会话变量和类似设置作为jdbc url的一部分(即jdbc:postgresql://localhost:5435/test?timezone=America/New_York
或通过将其添加到属性列表中)传递给数据库,如下所示...
String url = "jdbc:postgresql://localhost/test:5435";
Properties props = new Properties();
props.setProperty("user","fred");
props.setProperty("password","secret");
props.setProperty("timezone","America/New_York");
Connection conn = DriverManager.getConnection(url, props);
如果postgres支持并且测试失败,我将找不到确定的信息。
连接参数
[...]
- 选项 =字符串
指定'选项'连接初始化参数。
此属性的值可能包含空格或其他特殊字符,如果在连接URL中提供,则应正确编码。除非使用反斜杠(
\
)进行了转义,否则空格应视为分隔命令行参数。\\
代表文字反斜线。
所以您应该使用
props.setProperty("options", "-c timezone=America/New_York");