Есть два postgresql, на моем личном пк, и на виртуальной машине с windows server. Также на моем пк есть база, размером 520 гб.
Еще есть sql запрос
--------------------------------------------------
-- Список таблиц для которых нужно обновить LastId
--------------------------------------------------
do $$
declare
x citext;
begin
for x in select ids.TableName
from Sungero_System_Ids ids
where ids.TableName <> 'Sungero_System_Setting'
and ids.TableName <> 'Sungero_System_FolderTag'
loop
begin
EXECUTE Format('update Sungero_System_Ids set LastId = (select COALESCE(max(id),0) from %s)
where Sungero_System_Ids.TableName = $1', x, x, x) USING x;
raise notice 'Update LastID for %', x;
EXCEPTION
when undefined_table then
raise notice 'Table %s not exists', x;
end;
end loop;
--------------------------------------------------
-- Отдельно обновить счетчик для таблиц с историей
--------------------------------------------------
update Sungero_System_Ids
set LastId = (select max(ids.LastId)
from Sungero_System_Ids ids
where ids.TableName like '%history%'
and ids.TableName <> 'Sungero_Core_History')
where Sungero_System_Ids.TableName = 'Sungero_Core_History';
end$$;
На моем пк запрос отрабатывает примерно за 8 секунд.
Когда я развернул бекап этой же базы на виртуалке и запустил этот же sql запрос, то он выполнялся 16 суток, потом я его прервал. С чем может быть связано такое длительное выполнение sql запроса?
По производительности пк и виртуалка на сервере примерно одинаковые.
Смущает то, что даже не появляются никакие логи из цикла (raise notice 'Update LastID for %', x;)