본문으로 건너뛰기
transaction_buffers

transaction_buffers

버전기본값context타입
170postmaster (재시작)integer
180postmaster (재시작)integer
190postmaster (재시작)integer

pg_xact의 내용을 캐시하는 데 쓸 shared memory 양을 지정한다. 단위 없이 값을 주면 블록 수(BLCKSZ, 보통 8kB)로 해석한다. 기본값은 0으로, 이 경우 shared_buffers/512 크기를 최대 1024블록, 최소 16블록 범위에서 자동으로 잡는다. 서버 시작 시에만 설정할 수 있다.

pg_xact는 각 트랜잭션의 커밋/롤백 상태를 기록하는 SLRU 영역으로, row의 가시성을 판정할 때 수시로 조회된다. 이 파라미터는 그 조회가 디스크까지 내려가지 않도록 하는 캐시의 크기다. 기본값이 shared_buffers에 비례해 자동으로 잡히므로 대부분의 환경에서는 손댈 일이 없다. PostgreSQL 17부터 SLRU 캐시 크기를 이런 개별 파라미터로 조정할 수 있게 됐다.

운영 노트: 오래 열린 트랜잭션과 높은 트랜잭션 처리량이 겹치면 pg_xact 조회 범위가 넓어져 캐시 미스가 늘 수 있다. pg_stat_slru 뷰의 transaction 항목으로 확인하고, 캐시 확장보다 장기 트랜잭션 정리가 먼저다.

출처: PostgreSQL 18 문서