Tout d'abord, consultez https://jdbc.postgresql.org/documentation/83/query.html#query-with-cursor.
Résolu comme ça.
(jdbc/with-db-transaction [tx connection]
(jdbc/query tx
[(jdbc/prepare-statement (:connection tx)
"select * from mytable"
{:fetch-size 10})]
{:result-set-fn (fn [result-set] ...)}))
où :result-set-fn
est une fonction qui consomme le jeu de résultats paresseux.
with-db-transaction
s'occupe de autoCommit
défini sur false
.:fetch-size
n'est pas passé de query
vous devez donc faire une prepare-statement
vous-même.