Святой курит, Бэтмен!Если выполнение вашего запроса занимает больше нескольких минут, вам следует подумать о другом способе обработки ваших данных!Если вы возвращаете 200 000 000 строк из 15 однобайтовых столбцов, это уже 3 гигабайта необработанных данных, при условии, что нет ни одного байта служебных данных, что очень маловероятно.Если вместо этих столбцов используются 64-разрядные целые числа, это уже 24 гигабайта.Это много данных в памяти, которые нужно обработать для Python.
Рассматривали ли вы, что произойдет, если во время выполнения произойдет сбой вашего процесса или соединение прервано?Ваша программа получит выгоду от обработки строк данных кусками, если это возможно для вашего процесса.Если это действительно невозможно, рассмотрите подходы, которые работают с самой базой данных, такие как использование PL / pgSQL.