Para usar um cursor para recuperar dados, você deve definir o tipo ResultSet de ResultSet.TYPE_FORWARD_ONLY (o padrão) e autocommit para false, além de definir um tamanho de busca. Isso é mencionado no documento ao qual você vinculou, mas você não mencionou explicitamente que executou essas etapas.
Tenha cuidado com o esquema de particionamento do PostgreSQL. Ele realmente faz coisas muito horríveis com o otimizador e pode causar grandes problemas de desempenho onde não deveria haver (dependendo das especificidades de seus dados). De qualquer forma, sua linha tem apenas 1,8 milhão de linhas? Não há razão para que ele precise ser particionado com base apenas no tamanho, uma vez que está indexado adequadamente.