У меня есть таблица 'table1' со столбцами (id, createdate). Предположим, у меня есть миллионы записей в нем, и я хочу скопировать все записи старше, чем сегодня, в «table1_back» с той же схемой, что и table1.
Я попытался запустить это в пакетном режиме следующим образом, но выдает ошибку
WITH row_batch AS (
SELECT id
FROM table1
WHERE createddate::date < NOW() LIMIT 20000 ),
delete_rows AS (
DELETE FROM table1 t
USING row_batch b
WHERE t.id = b.id RETURNING *)
INSERT INTO table1_back SELECT * FROM delete_rows;
Но я получаю ошибку ОШИБКА: У INSERT больше выражений, чем у целевых столбцов , но на самом деле это точная копия таблицы 1.