13.5. 메이저 토토 사이트 실패 처리#

반복 가능한 읽기 및 메이저 토토 사이트 가능한 격리 수준은 메이저 토토 사이트 이상을 방지하도록 설계된 오류를 생성 할 수 있습니다. 앞에서 언급했듯이, 이러한 수준을 사용하는 응용 프로그램은 메이저 토토 사이트 오류로 인해 실패한 거래를 다시 시도 할 준비를해야합니다. 이러한 오류의 메시지 텍스트는 정확한 상황에 따라 다르지만 항상 sqlstate 코드가 있습니다.40001(Serialization_Failure).

교착 상태 실패를 재현하는 것이 좋습니다. SQLSTATE 코드가 있습니다.40p01(Deadlock_detected).

경우에 따라 SQLSTATE 코드가있는 고유 한 키 장애를 재 시도하는 것도 적절합니다.23505(고유 한 _violation) 및 SQLSTATE 코드가있는 제외 제약 조건 실패23p01(Exclusion_violation). 예를 들어, 현재 저장된 키를 검사 한 후 응용 프로그램이 기본 키 열에 대한 새 값을 선택하면 다른 응용 프로그램 인스턴스가 동시에 동일한 새 키를 동시에 선택했기 때문에 고유 키 장애가 발생할 수 있습니다. 이것은 효과적으로 직렬화 실패이지만 서버는 할 수 없기 때문에 서버를 감지하지 않습니다.참조삽입 된 값과 이전 읽기 사이의 연결. 원칙적으로 직렬화 문제가 근본적인 원인이라고 판단하기에 충분한 정보가 있지만 서버가 고유 키 또는 제외 제한 조건 오류를 발행하는 코너 사례도 있습니다. 그냥 재 시도하는 것이 좋습니다Serialization_Failure오류는 무조건, 다른 오류 코드를 재 시도 할 때 더 많은주의가 필요합니다. 일시적 고장보다는 지속적인 오류 조건을 나타낼 수 있으므로.

발행 할 SQL 및/또는 사용 할 값을 결정하는 모든 논리를 포함하여 완전한 트랜잭션을 재 시도하는 것이 중요합니다. 그러므로,PostgreSQL정확성을 보장 할 수 없기 때문에 자동 재 시도 시설을 제공하지 않습니다.

거래 재 시도는 retried 거래가 완료 될 것이라고 보장하지 않습니다. 다중 재시도가 필요할 수 있습니다. 경합이 매우 높은 경우 거래 완료가 많은 시도가 필요할 수 있습니다. 충돌하는 준비된 거래와 관련된 경우, 준비된 거래가 저지르거나 롤백 할 때까지 진행할 수는 없습니다.

정정 제출

문서에 올바른 것이없는 것이 있으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면