我正在使用postgresql9.0和JDK6。 我在postgresql中运行pg_controldata命令。因为我需要“最新检查点的时间:”值。这是一个日期&时间与时区。
在运行java API时,它会消除时区以外的所有内容。
从直接postgres它显示---最新检查点的时间:2012年3月12日上午08:15:43 SGT
但是当通过代码运行时它显示----最新检查点的时间:2012年3月12日星期一08:15:43
如何解决?
String result =
pe.executepsql("/data/PostgreSQL/bin/pg_controldata /data/PostgreSQL/data");
System.out.println("Output of cmd:" +result);
String start = "Time of latest checkpoint:";
String end = "Minimum recovery ending location:";
String str = result.substring(result.indexOf(start)+
"Time of latest checkpoint:".length(),result.indexOf(end)).trim();
System.out.println("Time of latest checkpoint: " +str);
executepsql()
用于执行postgres命令。
executepsql()用于执行postgres命令。
我也尝试了psql -c命令,这个方法运行正常。但是pg_controldata无法正常工作。
答案 0 :(得分:1)
String result = pe.executepsql("/data/PostgreSQL/bin/pg_controldata /data/PostgreSQL/data");
System.out.println("Output of cmd:" +result);
String start = "Time of latest checkpoint:";
String end = "Minimum recovery ending location:";
String str = result.substring(result.indexOf(start)+"Time of latest checkpoint:".length(),result.indexOf(end)).trim();
System.out.println("Time of latest checkpoint: " +str);
executepsql()用于执行postgres命令。
我也尝试了psql -c命令,这个方法运行正常。但是pg_controldata无法正常工作。