INSERT INTO из очень большого запроса SELECT - PullRequest
0 голосов
/ 15 июня 2019

У меня есть следующий INSERT:

INSERT INTO "Positions" 
(SELECT source_id, (r1.cd).x, (r1.cd).y, (r1.cd).z FROM 
  (SELECT source_id, stars_icrs2gcrs(ra, "dec", r_est) AS cd
   FROM "StarsWithDistance"
   )
 AS r1);

SELECT возвращает около 1,3 миллиарда строк.Если я добавлю предложение LIMIT, оно будет работать, таблица позиций обновится.Так что ВСТАВКА как написано работает.Но если я позволю ему пройти по всем строкам, он успешно завершится, однако таблица Positions будет пустой.

Какой самый лучший / самый элегантный способ справиться с этим видом ВСТАВКИ?Я не очень беспокоюсь о производительности здесь, этот INSERT будет выполнен один раз и никогда больше после.Очевидно, я не хочу, чтобы это заняло недели!Но день не проблема.Как написано сейчас, это занимает 3 часа.

...