-- 378_publish_outbox_attempts_failed.sql -- (번호: 멀티세션 중 prod 가 377_domain_bucket 을 선점 → 378 로 리넘버.) -- publish_outbox poison row head-of-line block 차단. 발행 워커가 행별 savepoint 격리 후 -- 예외 시 attempts++ 하고 MAX 초과 시 failed_at 스탬프(terminal) → 그 행을 select 에서 제외해 -- 후속 발행이 막히지 않게 함. 기존 미처리 행은 attempts=0 / failed_at=NULL 로 정상 재처리. -- (단일 ALTER = 1 statement = asyncpg prepared 호환.) ALTER TABLE publish_outbox ADD COLUMN IF NOT EXISTS attempts SMALLINT NOT NULL DEFAULT 0, ADD COLUMN IF NOT EXISTS failed_at TIMESTAMPTZ;