Документация гласит:
В некоторых случаях может потребоваться отключить использование подготовленных сервером выражений. Например, если вы маршрутизируете соединения через балансировщик, который несовместим с подготовленными операторами, у вас мало выбора.
Вы можете отключить использование подготовленных операторов на стороне сервера, установив prepareThreshold=0
Пример кода:
java.sql.PreparedStatement pstmt = conn.prepareStatement("SELECT ...");
// get the PostgreSQL-specific class
org.postgresql.PGStatement pgstmt = pstmt.unwrap(org.postgresql.PGStatement.class);
// disable server-side prepared statements
pgstmt.setPrepareThreshold(0);
Если вы unwrap
org.postgresql.PGConnection
в своем java.sql.Connection
, вы также можете установить пороговое значение на уровне соединения для всех подготовленных операторов этого соединения.
Пример добавления его в URL: jdbc:postgresql://localhost/test?user=fred&password=secret&ssl=true&prepareThreshold=0