본문으로 건너뛰기
max_pred_locks_per_relation

max_pred_locks_per_relation

버전기본값context타입
14-2sighupinteger
15-2sighupinteger
16-2sighupinteger
17-2sighupinteger
18-2sighupinteger
19-2sighupinteger

하나의 relation에서 page·tuple 단위 predicate lock을 몇 개까지 유지하다가 relation 전체 lock으로 승격할지 정한다.

0 이상의 값은 절대 개수 제한이고, 음수 값은 max_pred_locks_per_transaction을 그 절댓값으로 나눈 수를 뜻한다. 기본값은 -2로, 이전 버전 PostgreSQL과 같은 동작을 유지한다. postgresql.conf 파일이나 서버 커맨드라인에서만 설정할 수 있다.

승격이 일어나면 lock 추적에 쓰는 메모리는 절약되지만 lock 범위가 relation 전체로 굵어져서, serializable transaction 간 충돌로 판정되는 범위가 넓어지고 직렬화 실패가 늘어날 수 있다.

출처: PostgreSQL 18 문서