-- 单飞锁收窄到 pull 方向:
-- 锁的目的是串行化 pull / cold-import(游标互斥,一 host 一次只能跑一个)。
-- push(形态 A/C)每个批次也建一条 status='running' 的 sync_log,原索引把并发 push 批次
-- 一并拦成 P2002 → 500(push 的并发由 PushController 信号量管理,不需要这把锁)。
DROP INDEX "sync_logs_one_running_per_host";
CREATE UNIQUE INDEX "sync_logs_one_running_per_host"
  ON "sync_logs" ("host_id")
  WHERE "status" = 'running' AND "direction" = 'pull';
