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

19.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는 테스트에 충분하지만 단일 직렬화 가능 트랜잭션에서 여러 다른 테이블을 다루는 클라이언트가 있는 경우 이 값을 높여야 할 수도 있습니다. 이 매개변수는 서버 시작 시에만 설정할 수 있습니다.