Abyste mohli k načtení dat použít kurzor, musíte kromě nastavení velikosti načtení nastavit typ ResultSet ResultSet.TYPE_FORWARD_ONLY (výchozí) a autocommit na false. To je odkazováno v dokumentu, na který jste odkazovali, ale výslovně jste nezmínili, že jste tyto kroky provedli.
Buďte opatrní se schématem rozdělení PostgreSQL. S optimalizátorem to opravdu dělá velmi hrozné věci a může způsobit masivní problémy s výkonem tam, kde by neměly být (v závislosti na specifikách vašich dat). V každém případě je váš řádek pouze 1,8 milionu řádků? Neexistuje žádný důvod, proč by musel být rozdělen pouze na základě velikosti, protože je správně indexován.