我有一个500,000行的SQL脚本:
UPDATE users SET region_id = 9814746 WHERE id = 101 AND region_id IS null;
UPDATE users SET region_id = 9814731 WHERE id = 102 AND region_id IS null;
UPDATE users SET region_id = 3470676 WHERE id = 103 AND region_id IS null;
我想每50
行插入一个10
秒的延迟。pgsql
是否有waitfor
语句,如t-sql
。
谢谢。
5条答案
按热度按时间j0pj023g1#
是,pg_睡眠:
2mbi3lxu2#
你可以用
PERFORM
语句调用pg_sleep
函数,因为我们不关心返回值:liwlm1x93#
据我所知没有。
你可以在shell中做一些事情,通过一个简单的脚本将你的SQL传输到PostgreSQL中。
顺便说一句:我看到你以前问过一个非常相似的问题。如果你能接受你认为解决了你的问题的答案就好了:
Begin...commit every 50 rows
kt06eoxx4#
正如pilcrow所说,这是最简单的方法。如果你不想看到返回的结果,只需在运行pg_sleep之前关闭显示,如下所示--〉
ep6jt1vc5#
根据延迟执行,可以使用
pg_sleep()
和pg_sleep_for()
延迟10秒,如下所示:此外,您还可以使用
pg_sleep_until()
延迟一段时间,如下所示:一个三个三个一个