TECH 으로 돌아가기
TECH HACKER NEWS 오늘 2분 읽기 18 READS

캐나다 한 주의 서머타임 폐지가 당신의 Postgres를 망가뜨린다

브리티시컬럼비아주가 서머타임(DST)을 영구 폐지하기로 하면서, 미래 시점의 타임스탬프 계산이 통째로 흔들리는 문제가 발생합니다. 핵심은 시간대 규칙이 '불변'이 아니라 정치적 결정에 따라 언제든 바뀐다는 점입니다. 이 글이 주는 인사이트는 명확합니다. 첫째, 시각은 무조건 UTC 기반의 timestamptz로 저장하세요. timestamp(without time zone)는 오프셋 정보를 잃어버려 나중에 복구가 불가능합니다. 둘째, Postgres의 시간대 변환은 OS와 DB에 내장된 IANA tzdata에 의존하므로, BC 같은 규칙 변경이 생기면 tzdata를 업데이트해야 정확한 값이 나옵니다. 셋째, 이미 저장된 과거 데이터는 안전하지만, '미래의 특정 현지시각'(예: 2027년 회의 일정)은 규칙이 바뀌면 실제 UTC 값이 달라지므로 현지시각+시간대 이름을 함께 보관하는 설계가 필요합니다. 글로벌 서비스를 만드는 한국 개발자라면, 시간대는 코드가 아니라 데이터로 다뤄야 한다는 교훈을 꼭 기억해야 합니다.

SOURCE · HACKER NEWS
원문 전체 보기 → https://www.crunchydata.com/blog/british-columbia-and-time-z...
SHARE
처리 중...