본문 바로가기
개발 관련됨/개발 이슈를 해결함

Postgresql 에서 epoch time 을 읽을 수 있는 timestamp 변환하는 방법은?

by simplify-len 2022. 4. 26.

 

우리가 다루는 시간 중에는 epochtime 이라는게 존재합니다.

// epochtime
1970년 1월 1일 00:00:00 UTC 부터 지금까지의 경과 시간을 초로 환산하여 정수로 나타낸 것을 말한다.

 

DB 를 다루다보면, Application 에서 DB 에 데이터를 삽입할 때, application의 date 타입을 Timestamp 로 변환해서 넣는 것이 문제가 되는 경우가 더러 있습니다. 

 

 한번만 사용되어지는 DB 라면 더욱더 해당되는데, 종종 ViewTable을 만들기 위한 용도로 만들 경우 약간의 트릭으로 Timestamp 에 넣어야 할 값을 Bigint 타입으로 CREATE Table 한 뒤, 어플리케이션에서 epochtime 으로 값을 삽입합니다.

 

아래 epochtime 으로 값을 넣을 경우  간단한 예시입니다.

 

refunded_at 은 epoch time 으로 변환된 값이 삽입되었습니다.

 

이를 보기 View Table 을 만들면서 시간을 변환하는 방법은 다음과 같습니다.

 

to_timestamp(v.refunded_at)::timestamp AS refunded_at

 

위와 같은 Sql 메소드를 활용하게 되면 아래와 같이 변환됩니다.

 

 ViewData 를 쿽하게 만들기 위해 이 방법을 사용했습니다.

 

댓글