transaction_buffers
pg_xact의 내용을 캐시하는 데 쓸 shared memory 양을 지정합니다. 단위 없이 값을 주면 블록 수(BLCKSZ, 보통 8kB)로 해석합니다. 기본값은 0으로, 이 경우 shared_buffers/512 크기를 최대 1024블록, 최소 16블록 범위에서 자동으로 잡습니다. 서버 시작 시에만 설정할 수 있습니다.
pg_xact는 각 transaction의 커밋/롤백 상태를 기록하는 SLRU 영역으로, row의 가시성을 판정할 때 수시로 조회됩니다. 이 파라미터는 그 조회가 디스크까지 내려가지 않도록 하는 캐시의 크기입니다. 기본값이 shared_buffers에 비례해 자동으로 잡히므로 대부분의 환경에서는 바꿀 일이 없습니다. PostgreSQL 17부터 SLRU 캐시 크기를 이런 개별 파라미터로 조정할 수 있게 됐습니다.
노트
운영 노트: 오래 열린 transaction과 높은 transaction 처리량이 겹치면 pg_xact 조회 범위가 넓어져 캐시 미스가 늘 수 있습니다. pg_stat_slru 뷰의 transaction 항목으로 확인하고, 캐시 확장보다 장기 transaction 정리가 먼저입니다.
출처: PostgreSQL 18 문서