Зачем использовать COPY для второй таблицы?Я бы предположил, что выполнение:
INSERT INTO table2 (...)
SELECT ...
FROM table1;
будет быстрее, чем использование COPY.
Редактировать Если вам нужно импортировать разные строки в разные таблицы, но из одного и того же исходного файла, возможно, вставьте все в промежуточную таблицу, а затем вставьте строки оттуда в целевые таблицы:
Импортируйте. весь текстовый файл * в одну промежуточную таблицу:
COPY staging_table FROM STDIN ...;
После этого шага весь входной файл находится в staging_table
Затем скопируйте строки из промежуточной таблицы вотдельные целевые таблицы, выбирая только те, которые соответствуют требованиям соответствующей таблицы:
INSERT INTO table_1 (...)
SELECT ...
FROM staging_table
WHERE (conditions for table_1);
INSERT INTO table_2 (...)
SELECT ...
FROM staging_table
WHERE (conditions for table_2);
Это, конечно, возможно, только если в вашей базе данных достаточно места для хранения промежуточной таблицы.