Postgres Timezone 변경하기.

안녕하세요. 달소입니다.

이번에는 Docker Postgres 컨테이너의 타임존 변경방법입니다.

기본적으로 postgres의 timezone은 UTC 기준입니다.

docker-compose 설정 변경하기

기본적으로 컨테이너의 timezone 변수와 postgres의 timezone변수를 두개 추가해주시면됩니다.

image.png.jpg

다만 위 방법으로는 컨테이너 생성전에만 가능하며 이미 DB가 생성되어 볼륨을 사용해서 운영중이시라면 다른방법을 사용하셔야합니다.

docker 컨테이너 내부에서 변경하기.

docker exec -it <container_name> psql -U <username> -d <database_name>

image.png.jpg

아래 명령어들도 타임존을 변경하고 타임존을 확인해줍니다.

SET timezone TO 'Asia/Seoul';SELECT current_setting('timezone');

image.png.jpg

그리고 db confing 자체에 conf 값도 바꿔줘야합니다.

docker exec -it <container_name> bash
vi /var/lib/postgresql/data/postgresql.conf

여기서 timezone으로 검색해서 나오는 log_timezone과 timezone 모두를 Asia/Seoul로 바꿔주시면됩니다.

image.png.jpg
image.png.jpg

그리고 컨테이너를 한번 내리고 올리면 끝입니다~

image.png.jpg

끝입니다!