우리는 PostahreSQL 데이터베이스에 행을 삽입합니다. 트랜잭션은 1000 행을 사용하며, Pentaho 스푼 변환시 커밋합니다.다른 테이블을 차단하는 삽입물 삽입
테이블에는 외래 키와 같은 몇 가지 필드/제약 조건이 있습니다. 즉 고객 테이블과 유사 항목에 customer_id가 있어야합니다. 우리는 교착 상태 오류가 수시로
...
ERROR: se ha detectado un deadlock
Detail: El proceso 29996 espera ShareLock en transacción 6643574; bloqueado por proceso 31826.
El proceso 31826 espera ShareLock en transacción 6643573; bloqueado por proceso 29996.
Hint: Vea el registro del servidor para obtener detalles de las consultas.
Where: sentencia SQL: «SELECT 1 FROM ONLY "public"."customer_table" x WHERE "id" OPERATOR(pg_catalog.=) $1 FOR SHARE OF x»
우리는 우리의 삽입은 다른 테이블을 차단하는 기대하지 않았다. 내가 상상할 수있는 유일한 이유는 고객 기록이 트랜잭션 경과 시간 동안 삭제되지 않는다는 것입니다.
고객 기록이 삭제되지 않는다는 점에서 (사용자가 할 수있는 방법이 없음) 공유 잠금을 피할 수있는 방법이 있습니까? THER가 아닌 경우에도
, 나는 무엇을 : 무슨 일이 일어나고에 어떤 빛을 부탁드립니다
Thks