SQL 저장시, 한국 표준 시간인 KST 시간으로 저장하고자 했다.
하지만, 되지 않았다.
[AWS RDS] Timezone 시간 변경 (최신 AWS 캡쳐)
[AWS RDS] Timezone 시간 변경 (최신 AWS 캡쳐)
1. AWS RDS에 접속하여, 엔진과 엔진 버젼을 알아내자. 2. RDS > 파라미터 그룹 > 생성하기앞서 얻은 정보를 입력하여 파라미터 그룹을 생성하자3. 파라미터 편집 및 저장time_zone 입력Asia/Seoul 입력4.
doraemin.tistory.com
이렇게 AWS RDS에서 time zone 변경을 해주었지만,
DB에 CURRENT_TIMESTAMP와 같은 DB 레벨의 기본값(default) 을 사용할 때만 적용된다.
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
그래서, 파이썬 코드에서 지정한 시간(datetime.utcnow() 등) 은 RDS의 timezone 설정과 무관하다.
이는 RDS의 time_zone 설정과는 상관없이, 순전히 파이썬 코드가 실행되는 환경의 시간을 기준으로 기록되는 것이다.
명확하게 시간대 일치를 원하면 파이썬 코드에서 명시적으로 타임존을 지정하는 방식을 사용해보자.
from datetime import datetime
import pytz
def get_kst_now():
kst = pytz.timezone('Asia/Seoul')
now_with_tz = datetime.now(kst)
return now_with_tz.replace(tzinfo=None) # 타임존 제거 (DB에 저장하기 위해)
created_at = Column(DateTime, default=get_kst_now)
하지만,,,
여전히 KST 시간으로 표현되지 않는다.
아래 링크들의 정보에 따르면, SQL 정책상 전세계 표준 시간인 UTC 시간만을 사용한다.
[https://stackoverflow.com/questions/414952/sqlalchemy-datetime-timezone](url)
[https://minarae.com/entry/Sqlalchemy%EB%A5%BC-%ED%86%B5%ED%95%9C-postgresql-timezone-%EC%84%A4%EC%A0%95](url)
[https://velog.io/@lizziechung/SQLAlchemyDatabase-Timezone%EC%97%90-%EB%8C%80%ED%95%9C-%EC%9D%B4%EB%AA%A8%EC%A0%80%EB%AA%A8-UTC%EC%97%90-%EB%8C%80%ED%95%9C-%EC%9D%B4%ED%95%B4](url)
그래서 ====> 임의로 column을 하나 더 만들어 주었다...
KST 시간을 위해선 +09:00 해야한다는 의미...

짜친다,,
https://github.com/doraemon49/AI_Alzheimer/issues/7
[AWS RDS] time_zone 변경 · Issue #7 · doraemon49/AI_Alzheimer
[AWS RDS] Timezone 시간 변경 (최신 AWS 캡쳐) 이렇게 AWS RDS에서 time zone 변경을 해주었지만, DB에 CURRENT_TIMESTAMP와 같은 DB 레벨의 기본값(default) 을 사용할 때만 적용된다. created_at TIMESTAMP DEFAULT CURRENT_TIME
github.com
'웹 개발' 카테고리의 다른 글
Difference btw '.h5ad' and '.h5' (0) | 2025.03.28 |
---|---|
[Azure] 요금 안 나오게 중지 및 해지 (0) | 2025.02.28 |
[Kakao Login] 비즈니스 정보 심사 과정 (0) | 2025.02.24 |
[GitHub] Organization 관리하기 (0) | 2025.02.03 |
[공모전] README.md (1) | 2025.01.24 |