본문 바로가기
PostgreSQL

PostgreSQL Data Type timestamp 와 timestamptz 차이점

by devdrawer 2024. 1. 24.

PostgreSQL 테이블을 생성하면서 날짜와 시간을 관리할 수 있는 컬럼을 추가해야 했습니다.
찾아보니 비슷해 보이는 timestamp 와 timestamptz 가 있엇습니다.
tz는 "Time Zone" 의 줄임말로 시간대 처리 유무에 차이점이 있었습니다.

1. timestamp

시간대 정보 없이 날짜 및 시간 값을 저장합니다.
이러한 값은 항상 데이터베이스 서버의 시간대에 있는 것으로 가정된다는 점에 유의하는 것이 중요합니다.

 

2. timestamptz

입력 시 UTC로 변환하여 저장하기 때문에 다양한 시간대에 걸쳐 정확한 시간을 관리 할 수 있습니다.
따라서 일관된 데이터로 관리가 가능합니다.
* UTC : Universal Time Coordinated


표로 정리하자면 아래와 같습니다.

항목 timestamp timestamptz
날짜 O O
시간 O O
시간대 X O

 

3. 결론

저는 글로벌 사이트를 관리하기 때문에 다양한 시간대에 데이터가 들어올 수 있다는걸 가정하여 timestamptz를 사용했습니다.
하지만 국내 한정 사이트라면 굳이 timestamptz까지는 사용하지 않아도 될 것 같습니다.
각자 관리하는 사이트의 성격을 확인하여 맞는 데이터 타입을 사용하면 좋을 것 같습니다.

참고 자료

 

협정 세계시 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. UTC는 여기로 연결됩니다. 다른 뜻에 대해서는 UTC (동음이의) 문서를 참고하십시오. 협정 세계시(協定世界時, 영어: Coordinated Universal Time/Universal Time Coordinated, UTC)

ko.wikipedia.org