Deadlock_timeout
(정수
) 이것은 교착 상태가 있는지 확인하기 전에 자물쇠를 기다리는 데 밀리 초의 시간입니다. 교착 상태 수표는 비교적 비싸므로 서버는 윈 토토을 기다릴 때마다 실행되지 않습니다. 우리는 교착 상태가 생산 응용 프로그램에서 일반적이지 않다고 낙관적으로 가정하고 교착 상태를 확인하기 전에 잠시 윈 토토을 기다립니다. 이 값을 높이면 불필요한 교착 상태 검사에서 낭비되는 시간의 양이 줄어들지만 실제 교착 상태 오류에 대한보고가 느려집니다. 기본값은 1 초입니다 (1s
)는 아마도 당신이 실제로 원하는 가장 작은 가치에 관한 것입니다. 크게로드 된 서버에서는 올릴 수 있습니다. 이상적으로는 웨이터가 교착 상태를 확인하기로 결정하기 전에 자물쇠가 릴리스 될 확률을 향상시키기 위해 설정이 일반적인 트랜잭션 시간을 초과해야합니다. 수퍼 유저만이 설정을 변경할 수 있습니다.
whenlog_lock_waits설정되어 있습니다.이 매개 변수는 또한 윈 토토 대기에 대한 로그 메시지가 발행되기 전에 대기 시간을 결정합니다. 윈 토토 지연을 조사하려는 경우 평소보다 짧은 것을 설정하고 싶을 수도 있습니다.Deadlock_timeout
.
max_locks_per_transaction
(정수
)공유 윈 토토 테이블은 윈 토토 켜짐max_locks_per_transaction
* (max_connections+max_prepared_transactions) 객체 (예 : 테이블); 따라서,이 많은 독특한 물체를 한 번에 잠글 수 없습니다. 이 매개 변수는 각 트랜잭션에 할당 된 평균 객체 윈 토토 수를 제어합니다. 모든 트랜잭션의 윈 토토이 윈 토토 테이블에 맞는 한 개별 트랜잭션은 더 많은 객체를 잠글 수 있습니다. 이것은not잠글 수있는 행의 수; 그 가치는 무제한입니다. 기본값 64는 역사적으로 충분한 것으로 입증되었지만 단일 트랜잭션에서 많은 다른 테이블을 터치하는 쿼리 (예 : 많은 어린이와 함께 부모 테이블의 쿼리)가있는 경우이 값을 올릴 수 있습니다. 이 매개 변수는 서버 시작에서만 설정할 수 있습니다.
대기 서버를 실행할 때이 매개 변수를 마스터 서버와 동일하거나 더 높은 값으로 설정해야합니다. 그렇지 않으면 대기 서버에서 쿼리가 허용되지 않습니다.
max_pred_locks_per_transaction
(Integer
)공유 술어 윈 토토 테이블은 윈 토토을 추적합니다max_pred_locks_per_transaction
* (max_connections+max_prepared_transactions) 객체 (예 : 테이블); 따라서,이 많은 독특한 물체를 한 번에 잠글 수 없습니다. 이 매개 변수는 각 트랜잭션에 할당 된 평균 객체 윈 토토 수를 제어합니다. 모든 트랜잭션의 윈 토토이 윈 토토 테이블에 맞는 한 개별 트랜잭션은 더 많은 객체를 잠글 수 있습니다. 이것은not잠글 수있는 행의 수; 그 가치는 무제한입니다. 기본값 인 64는 일반적으로 테스트에 충분했지만 단일 직렬화 가능한 트랜잭션에서 다양한 테이블을 터치하는 클라이언트가 있으면이 값을 올릴 수 있습니다. 이 매개 변수는 서버 시작에서만 설정할 수 있습니다.
max_pred_locks_per_relation
(정수
)이것은 윈 토토이 전체 관계를 다루기 위해 홍보하기 전에 단일 관계의 얼마나 많은 페이지 또는 튜플을 술어 윈 토토 할 수 있는지 제어합니다. 0보다 큰 값은 절대 한계를 의미하는 반면 음수 값은 평균max_pred_locks_per_transaction이 설정의 절대 값으로 나뉩니다. 기본값은 -2이며 이전 버전의 동작을 유지합니다.PostgreSQL. 이 매개 변수는에서만 설정할 수 있습니다.postgresql.conf
파일 또는 서버 명령 줄에.
max_pred_locks_per_page
(Integer
)이것은 윈 토토 장치가 전체 페이지를 다루기 위해 홍보하기 전에 단일 페이지의 행을 술어 윈 토토 할 수있는 행을 제어합니다. 기본값은 2입니다.이 매개 변수는에서만 설정할 수 있습니다.postgresql.conf
파일 또는 서버 명령 줄에.