我有 psql 查询,它一次获取一个键并不断更新表中的其他记录。 像下面这样
DO $$
DECLARE
i INT;
BEGIN
FOR i IN 1..10 LOOP
-- here we have 27 query's to run (insert, delete, update)
-- Update multiple rows for key(i)
-- each query takes near about 30 min to run it might because of large data (500GB)
-- we are doing commit after each query to release memory (let us know is this best way to do this)
END LOOP;
END $$;
问题是在运行此查询时,有时查询会卡住,但在 pgAdmin 上它显示正在运行,如何处理此问题。
这可能是一个很难通过 Stackoverflow 进行故障排除的问题。但是,如果单个查询工作没有任何问题,我建议将查询中的循环提取到执行查询的代码中,以便单独执行每个查询。