For at bruge en markør til at hente data skal du indstille ResultSet-typen for ResultSet.TYPE_FORWARD_ONLY (standarden) og autocommit til false ud over at indstille en hentestørrelse. Der henvises til det i det dokument, du linkede til, men du nævnte ikke eksplicit, at du udførte disse trin.
Vær forsigtig med PostgreSQL's partitioneringsskema. Det gør virkelig meget forfærdelige ting med optimeringsværktøjet og kan forårsage massive problemer med ydeevnen, hvor der ikke burde være det (afhængigt af dine datas specifikationer). Under alle omstændigheder, er din række kun 1,8 mio. rækker? Der er ingen grund til, at det skal opdeles baseret på størrelse alene, da det er korrekt indekseret.