Để sử dụng con trỏ để truy xuất dữ liệu, bạn phải đặt loại ResultSet là ResultSet.TYPE_FORWARD_ONLY (mặc định) và tự động gửi thành false ngoài việc đặt kích thước tìm nạp. Điều đó được tham chiếu trong tài liệu bạn đã liên kết đến nhưng bạn không đề cập rõ ràng rằng bạn đã thực hiện các bước đó.
Hãy cẩn thận với lược đồ phân vùng của PostgreSQL. Nó thực sự làm những điều rất kinh khủng với trình tối ưu hóa và có thể gây ra các vấn đề hiệu suất lớn ở những nơi không nên có (tùy thuộc vào chi tiết cụ thể của dữ liệu của bạn). Trong mọi trường hợp, hàng của bạn chỉ có 1,8 triệu hàng? Không có lý do gì mà nó cần được phân vùng chỉ dựa trên kích thước nếu nó được lập chỉ mục một cách thích hợp.