dynamic_shared_memory_type
| 버전 | 기본값 | context | 타입 |
|---|---|---|---|
| 14 | — | postmaster (재시작) | enum |
| 15 | — | postmaster (재시작) | enum |
| 16 | — | postmaster (재시작) | enum |
| 17 | — | postmaster (재시작) | enum |
| 18 | — | postmaster (재시작) | enum |
| 19 | — | postmaster (재시작) | enum |
서버가 사용할 dynamic shared memory 구현을 선택한다. parallel query처럼 실행 중에 shared memory 세그먼트를 동적으로 만들어야 하는 기능이 이 구현을 사용한다.
가능한 값은 posix(shm_open을 쓰는 POSIX shared memory), sysv(shmget을 쓰는 System V shared memory), windows(Windows shared memory), mmap(데이터 디렉토리에 저장한 memory-mapped 파일로 shared memory를 흉내)이다. 모든 플랫폼이 모든 값을 지원하지는 않으며, 보통 해당 플랫폼에서 첫 번째로 지원되는 옵션이 기본값이 된다. mmap은 어느 플랫폼에서도 기본값이 아니고 일반적으로 권장하지 않는다. OS가 수정된 page를 반복해서 디스크로 되쓰면서 I/O 부하가 커질 수 있기 때문이다. 다만 디버깅 목적이거나, pg_dynshmem 디렉토리가 RAM disk에 있거나, 다른 shared memory 방식을 쓸 수 없을 때는 유용할 수 있다.
서버 시작 시에만 설정할 수 있다.
출처: PostgreSQL 18 문서