Выполнить несколько запросов как одну транзакцию dblink

Я работаю в приложении Java, где мне нужно выполнить эти два запроса (как строки в Java) одновременно и откатить транзакцию, если есть ошибки.

SELECT dblink_exec('hostaddr=xxx.xx.xxx.xxx port=5432 dbname=bdname user=myuser password=mypass connect_timeout=2',
'INSERT INTO table3(field4) 
VALUES (5)') AS result;

SELECT dblink_exec('hostaddr=xxx.xx.xxx.xxx port=5432 dbname=bdname user=myuser password=mypass connect_timeout=2',
'UPDATE table1 SET field2 = field2 + 3.0 WHERE field1 = 16436') AS result;

ОБНОВИТЬ

Я создал одну строку с двумя запросами, разделенными; как в комментариях предложить

ОБНОВИТЬ

Я попробовал атомарные транзакции JDBC как код в Java. Я заставляю второй sql завершиться с ошибкой, но даже если я указываю .setAutoCommit (false); ссылка dblink затронула другую базу данных первым запросом. Я попробовал тот же код без транзакций dblink, и откат работает хорошо. проблема в dblink

ОБНОВЛЕНИЕ Java

public static boolean ejecutarTransaccionDblink(String sql) {
    boolean estado = false;
    try {
        Statement sentencia = conexion.createStatement();
        conexion.setAutoCommit(false);
        if (sql.length() != 0) {
            if (sentencia.execute(sql)) {
                conexion.commit();
                estado = true;
            }
        }
    } catch (SQLException ex) {
        System.out.println(ex.toString());
        try {
            estado = false;
            conexion.rollback();
        } catch (SQLException ex1) {
        }
    } finally {
        try {
            conexion.setAutoCommit(true);
            return estado;
        } catch (SQLException ex) {
            return estado;
        }
    }
}

Спасибо за вашу помощь.

Ответы на вопрос(2)

Ваш ответ на вопрос