Understanding JDBC Behaviour
Manav Kumar <mkumar@yugabyte.com>
From: Manav Kumar <mkumar@yugabyte.com>
To: pgsql-bugs@lists.postgresql.org
Date: 2025-05-17T12:35:00Z
Lists: pgsql-bugs
Hi Team,
I'm writing to clarify a syntax to pass the guc options in the startup
packt of the connection via JDBC.
Wrote below small java program:
Properties props = new Properties();
props.setProperty("options", "-c DateStyle=Postgres,DMY");
props.setProperty("user", "postgres");
props.setProperty("password", "postgres");
connection = DriverManager.getConnection(
"jdbc:postgresql://localhost:5432/postgres", props);
stmt1 = connection.createStatement();
ResultSet rs = stmt1.executeQuery("show DateStyle");
while (rs.next()) {
System.out.println(rs.getString(1));
}
stmt1.execute("reset DateStyle");
rs = stmt1.executeQuery("show DateStyle");
while (rs.next()) {
System.out.println(rs.getString(1));
}
The output I'm getting is:
ISO, DMY
ISO, DMY.
Rather shouldn't the expected output should be
Postgres, DMY
Postgres, DMY //*Please correct me - *Even after the reset the default
value should be Postgres, DMY ?
I checked the official docs, and found the syntax above.
Looking forward to seeing your response! Please let me know if I should
post elsewhere.
Thanks
Manav