Если вдруг кому-то пригодится, то для себя я нашел следующее решение:
1. Время на соединение с удаленной БД при пинге 103ms:
Try connect with public database... Connected. Elapsed 0.6279s
2. Select ... LIMIT 1000;
Elapsed 0.5091s
3. Update for 1000 records:
foreach($select->result() as $row) {
pg_query($conn, 'UPDATE...');
}
Elapsed 102.0623s
4. Update for 1000 records:
$sql = ''
foreach($select->result() as $row) {
$sql .= 'UPDATE...';
}
pg_query($conn, $sql);
Elapsed 2.9046
Для моей нагрузки это уже приемлемо