이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 19.12. 스포츠 토토 결과 관리버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

18.12. 잠금 관리

deadlock_timeout (정수)

이것은 잠금을 기다리는 시간(밀리초)입니다 교착 상태 상태가 있는지 확인하기 전에. 수표 교착 상태에 대한 비용은 상대적으로 높기 때문에 서버가 이를 실행하지 않습니다. 잠금을 기다릴 때마다. 우리는 낙관적으로 가정합니다. 교착 상태는 프로덕션 애플리케이션에서는 일반적이지 않으며 그냥 기다리십시오. 교착 상태를 확인하기 전에 잠시 동안 잠금 상태를 유지합니다. 증가 이 값은 불필요한 교착 상태로 인해 낭비되는 시간을 줄입니다. 확인하지만 실제 교착 상태 오류 보고 속도가 느려집니다. 는 기본값은 1초입니다(1초), 이는 아마도 실제로 원하는 가장 작은 값일 것입니다. 에 부하가 심한 서버를 늘리고 싶을 수도 있습니다. 이상적으로는 설정은 일반적인 거래 시간을 초과해야 합니다. 웨이터보다 먼저 잠금이 해제될 확률을 높입니다. 교착 상태를 확인하기로 결정합니다. 슈퍼유저만 이를 변경할 수 있습니다. 설정.

언제log_lock_waits이 설정되면 이 매개변수는 대기 시간도 결정합니다. 잠금 대기에 대한 로그 메시지가 발행되기 전에. 만약 당신이 잠금 지연을 조사하려고 하면 평소보다 짧습니다deadlock_timeout.

max_locks_per_transaction (정수)

공유 잠금 테이블은 다음에 대한 잠금을 추적합니다.max_locks_per_transaction * (max_connections + max_prepared_transactions) 객체(예: 테이블) 그러므로 이 많은 별개의 것 이상은 아닙니다. 객체는 언제든지 잠길 수 있습니다. 이 매개변수는 각 트랜잭션에 할당된 평균 개체 잠금 수입니다. 개별 트랜잭션은 잠금이 있는 한 더 많은 객체를 잠글 수 있습니다. 모든 거래가 잠금 테이블에 들어갑니다. 이것은아님행 수 잠김; 그 가치는 무제한입니다. 기본값인 64는 역사적으로 충분한 것으로 입증되었지만 다음과 같은 경우 이 값을 높여야 할 수도 있습니다. 단일에서 여러 다른 테이블을 다루는 쿼리가 있습니다. 거래, 예를 들어 많은 하위 항목이 있는 상위 테이블에 대한 쿼리입니다. 이 매개변수는 서버 시작 시에만 설정할 수 있습니다.

대기 서버를 실행할 때 이 매개변수를 다음으로 설정해야 합니다. 마스터 서버의 값과 동일하거나 더 높은 값입니다. 그렇지 않으면, 대기 서버에서는 쿼리가 허용되지 않습니다.

max_pred_locks_per_transaction (정수)

공유 조건자 잠금 테이블은 다음에 대한 잠금을 추적합니다.max_pred_locks_per_transaction * (max_connections + max_prepared_transactions) 객체(예: 테이블) 그러므로 이 많은 별개의 것 이상은 아닙니다. 객체는 언제든지 잠길 수 있습니다. 이 매개변수는 각 트랜잭션에 할당된 평균 개체 잠금 수입니다. 개별 트랜잭션은 잠금이 있는 한 더 많은 객체를 잠글 수 있습니다. 모든 거래가 잠금 테이블에 들어갑니다. 이것은아님행 수 잠김; 그 가치는 무제한입니다. 기본값인 64는 일반적으로 테스트에서는 충분했지만 이 값을 높여야 할 수도 있습니다. 한 번에 여러 테이블을 접촉하는 클라이언트가 있는 경우 직렬화 가능한 트랜잭션. 이 매개변수는 서버에서만 설정할 수 있습니다. 시작합니다.