まず、https://jdbc.postgresql.org/documentation/83/query.html#query-with-cursorを参照してください。
このように解決しました。
(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] ...)}))
ここで、:result-set-fn
怠惰な結果セットを消費する関数です。
with-db-transaction
autoCommit
を処理します false
に設定 。:fetch-size
query
から渡されません したがって、prepare-statement
を作成する必要があります 自分で。