Итак, если у меня есть несколько записей, которые я хочу вставить во внешнюю таблицу, я могу сделать это (псевдокод):
DO
INSERT INTO my_fdw_table VALUES next_row;
LOOP
или это:
INSERT INTO my_fdw_table SELECT all_the_rows;
По моему мнению, второй вариант кажется более эффективным, потому что все данные отправляются за один раз с меньшим количеством повторяющихся ключевых слов SQL.
Однако я не знаю, действительно ли второй вызовет такое же количество поездок туда и обратно. Я также не знаю, может ли второй рискнуть достичь какого-то предела длины оператора, если строк будет много?
Я использую постгрес 9.3.