postgres 18 이상 버전의 이미지에서부터 기본으로 사용하던 PGDATA 의 경로가 변경됐습니다.
기존의 17 이하 버전의 PGDATA : /var/lib/postgresql/data
변경된 18 이상 버전의 PGDATA : /var/lib/postgresql/<POSTGRES_MAJOR_VER>/docker
많은 분들이 컨테이너 삭제 후에도 데이터를 영속적으로 유지하기 위해서
PGDATA 경로를 docker run 명령어 입력 시에 -v 옵션으로
MOUNT 하는 경우가 많습니다.
하지만 이번 PGDATA 경로가 바뀌었으므로 이와 관련해서
-v 옵션 작성법도 바뀌어야 합니다.
docker run -e POSTGRES_PASSWORD=postgres -p 5432:5432 \
-v './postgres_data:/var/lib/postgresql/data' \
--name postgres postgres:17
docker run -e POSTGRES_PASSWORD=postgres -p 5432:5432 \
-v './postgres_data:/var/lib/postgresql/18/docker' \
--name postgres postgres:18
PGDATA 경로를 17 이하 버전과 동일하게 사용하고 싶으신 분들은
단순하게 -e PGDATA=/var/lib/postgresql/data 만 추가하고,
-v 옵션을 그에 맞춰서 작성하면 됩니다
docker run -e PGDATA=/var/lib/postgresql/data \
-e POSTGRES_PASSWORD=postgres -p 5432:5432 \
-v './postgres_data:/var/lib/postgresql/data' \
--name postgres postgres:18
이렇게 작성하면 어떤 버전을 사용해도 동일한 방식으로 작성이 가능해집니다!
이상으로 글을 마치겠습니다!