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