Timezone 설정 관련 문의

by steve posted Jul 07, 2024


* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.

OS
Linux 64bit
CUBRID Ver.

[cubrid_rel] 수행 결과

CUBRID 11.3 (11.3.1.1142-bee7aa8) (64bit release build for Linux) (May 18 2024 04:32:25)

CUBRID TOOL Ver.

[도움말]-[버전정보] 확인

SQLGate for CUBRID Developer

9.9.8.0

응용 환경(API)
해당없음


* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.

 

에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------

1. cubrid.conf 에 설정을 다음과 같이 했습니다.

 

[common]

# Read the manual for detailed description of system parameters
# Manual > Performance Tuning > Database Server Configuration > Default Parameters

# Size of data buffer are using K, M, G, T unit
data_buffer_size=512M

# Size of log buffer are using K, M, G, T unit
log_buffer_size=256M

# Size of sort buffer are using K, M, G, T unit
# The sort buffer should be allocated per thread.
# So, the max size of the sort buffer is sort_buffer_size * max_clients.
sort_buffer_size=2M

# The maximum number of concurrent client connections the server will accept.
# This value also means the total # of concurrent transactions.
max_clients=100

# TCP port id for the CUBRID programs (used by all clients).
cubrid_port_id=1523

# The createdb and addvoldb create a volume file of 'db_volume_size' size
# if don't have any options about size.
db_volume_size=512M

# The createdb creates a log volume file of 'log_volume_size' size
# if don't have any options about size.
log_volume_size=512M

# The log_max_archives parameter configures the maximum number of archive log files kept.
# To completely recover the database from the media failures with a backup,
# the archive log volumes that was archived from the backup must be kept.
# Tune this parameter with the enough number of archive logs to cope with a media failure.
#
# log_max_archives=2147483647
log_max_archives=0 

server_timezone=Etc/UTC

 

2. SQLGate 에서

 

1) 다음과 같이 datetime 관련 값을 저장하고 select 해봤을 때 결과는 UTC로 저장된 것으로 나옵니다.

 

CREATE TABLE tbl (a DATETIME, b DATETIMETZ,  c DATETIMELTZ);
INSERT INTO tbl VALUES (datetime'2015-02-24 12:30', datetimetz'2015-02-24 12:30', datetimeltz'2015-02-24 12:30');

SELECT * FROM tbl

 

2015-02-24 오후 12:30:00    2015-02-24 12:30:00.000 Etc/UTC UTC    2015-02-24 12:30:00.000 Etc/UTC UTC

 

2) 하지만 현재 시간을 select 해보면 KST로 나옵니다.

 

SELECT NOW();

 

2024-07-07 오후 11:23:13

 

3. 질문입니다.

 

1) 시간이 KST로 나오는 이유는 무엇인가요?

2) 응용에서 insert into t values (now())와 같이 했을 때 UTC로 저장이 되나요?

 


Articles