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
'PostgreSQL' 카테고리의 다른 글
PostgreSQL 데이터 입력을 위한 INSERT 사용 방법 (0) | 2024.01.17 |
---|---|
PostgreSQL 테이블 생성 그리고 삭제 방법 (0) | 2024.01.10 |