PostgreSQL (по подразбиране) връща всички редове наведнъж. Това има предимството да освобождава ресурси от страната на сървъра с цената на вероятно големи набори от резултати при клиента.
Алтернативата е да използвате курсор, който може да върне един ред наведнъж. Някои драйвери поддържат това директно (може би PDO ?) или можете да използвате DECLARE и FETCH
Другото нещо, което трябва да знаете, е COPY на PostgreSQL команда, която може да изхвърли таблица или заявка директно към файл (ако приемем, че не се нуждаете от много обработка/форматиране). Проверете дали вашата библиотека с база данни предлага директен достъп.