본문 바로가기

DB/Postgresql

docker postgresql 표준 시간대(timezone) 설정 방법

반응형

** Ubuntu 표준 시간대 확인

timedatectl

 

 

1. docker postgresql 접속 (나는 postgis 사용중)

// docker exec -it [container name] /bin/bash
docker exec -it postgis /bin/bash

// psql -U [username]
psql -U postgres

 

2. postgresql 현재 timezone 확인

show timezone;

 

3.   postgresql 타임존 설정 방법

 1) docker run 할 때 환경변수로 타임존 설정

 2) 특정 데이터베이스를 명령어를 통해 타임존 설정 

     ** SET timezone TO 'Asia/Seoul'; 명령어는 현재 세션에서만 유효하기 때문에 세션이 종료되면 설정이 초기화 된다.

# database 목록 조회
\l

# database 현재 접속 정보
\conninfo

# database 전환
# \c [database name] [user name]
\c postgres

# ALTER DATABASE [database name] SET TIMEZONE='Asia/Seoul'; 
ALTER DATABASE postgres SET TIMEZONE='Asia/Seoul';

 

 3) 데이터 베이스 서버 전체 변경을 위해 postgresql.config 파일을 수정 ( 데이터베이스 기본 타임존 설정 )

vi /var/lib/postgresql/data/postgresql.conf

# 편집기 진입 후 UTC 찾기. /UTC + Enter 입력.  
/UTC

# Etc/UTC 타임존을 Asia/Seoul로 변경
# log_timezone = 'Etc/UTC'
# timezone = 'Etc/UTC'
log_timezone = 'Asia/Seoul'
timezone = 'Asia/Seoul'

 

** vi 편집기가 사용이 안될 경우

apt-get update
apt-get install vim

 

4. postgresql 재시작 후 2번 3번 재실행하여 현재 타임존 확인

docker restart postgis

반응형