본문 바로가기

Database

PostgreSQL 시간 불일치 처리정보

insert쿼리의 현재시간 입력이 시스템 시간과 맞지 않음을 확인하고 진행했다.

단순한 절차로 진행했다. 현재 설정확인

postgreSQL은 설치 후 자기 계정을 생성하고 해당 계정으로만 로컬에서 직접접근을 허용한다.

설치 시 안바꿨다면 postgres이다.
확인하려면 ps 등으로 grep postgres등 으로 확인
프로세스 이름에 postgres는 최소한 들어갈 것이다.


실행중인 계정정보 확인 후 su 로 계정정보 변경

su posrtgres 

설정정보에 따라 sudo로 해야될 수 있다.

변경 후 psql 실행하여 현재 timezone과 시간 확인

SELECT current_setting(‘TIMEZONE’), now();


조회된 정보와 OS에 설정된 정보가 다르다면 conf에서 값을 변경해야한다.
conf는 postgresql.conf를 말하고, postgresql이 설치된 폴더하위에 존재한다.

ps -ef | grep posgres

위에서 썻던 명령어에서 그대로 조회가능하다 
기존 정보를 주석처리하고

새 정보를 입력하면 된다.
국내에서 사용한다면 Asia/Seoul로 하면 된다.
바꿀 속성은 
log_timezone
timezone 
두가지다.

설정이 변경되면 서버를 재기동해도 되지만, 그냥 바로 적용시킬 수 있다.
postgres계정으로 로그인 한 상태에서 아까처러 psql실행 후 

아래 명령어를 입력한다.

SELECT pg_reload_conf();


다시 아까 조회한대로 현재 타임존과 시간정보를 확인하면
우리나라시간에 맞춰져 있다. 
OS의 시간정보를 참조한 내용이다.