, но этот сценарий способен копировать приблизительно 8500 записей в минуту
Часть проблемы может заключаться в том, что вы извлекаете 100К строк в памяти каждый раз перед их обработкой.Это может быть одним из тех случаев, когда старый добрый pdo будет работать лучше.
создать и выполнить инструкцию PDO для select post_id, date, upvotes from posts_votes
(опционально с ограничением и смещением).
Использование: while ($row = $stmt->fetch(DO::FETCH_OBJ))
Таким образом, вы будете создавать объекты одновременно.
Еще более быстрый способтем не менее, скорее всего, было бы построить один огромный оператор couchdb из psql и использовать вывод для массовой загрузки вещей в couchdb.Я не уверен в точном синтаксисе кушетки, но вот основа для начала:
select string_agg('{' ||
'post_id: ' || post_id || ',' ||
'date: ' || date::timestamp::text || ',' ||
'upvotes: ' || upvotes ||
'}', ',
')
from post_votes