我们可以在当前会话之外执行一段代码吗?换句话说,将执行委托给另一个工作线程,类似于dbms_job.submit
Oracle 中的 a。
我只找到了涉及像 Cron 这样的外部工具的解决方案,但没有看到任何使用 PostgreSQL DBMS 本身的选项。
我想在不阻塞当前会话的情况下运行的简单长运行块示例:
DO
$do$
begin
FOR i IN 1..1000000
loop
// some long running inserts
insert into my_table(x) values (i);
commit;
end loop;
end $do$;