database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 7191 게시물 읽기
No. 7191
timestamp 값에 쓰레기 값이 붙습니다.
작성자
조성찬
작성일
2007-07-29 18:31
조회수
5,235

안녕하세요.


약 4~5백만 건의 데이터가 들어있는 테이블에 time컬럼이 있습니다. 타입은 timestamp 이구요.


이 테이블에 대한 정렬 테스트 도중에 날짜를 내림차순으로 정렬해서 임시테이블을 만들어 보았습니다.


그랬더니 정상적인 경우 '2007-07-29 18:20:15' 이렇게 들어있던 값 제일 앞 부분에 20 이라는 값이 붙어버립니다.


'202007-07-29 18:20:15' 이렇게 말입니다. 반드시 임시테이블을 생성할때만 생기는것은 아니고 time 컬럼을 ORDER BY 해서


SELECT해서 보아도 마찬가지 입니다. 원본에는 없던 저 값이 도대체 어디서 나오는 것인지 알 수가 없습니다. 


또 위에서 만든 임시테이블의 데이터 순서가 원본과 일치하지 않습니다. 정렬해서 나온 가장 최근 날짜의 값보다 분명히 더 최근의


값이 있는데 순서가 엉망이 되어버립니다. 


위의 시간 값을 넣을때 특별히 주의해야 하는 부분이 있는지요? 


지금은 테이블에 일반 문자열처럼 집어넣습니다. 


위 내용에 대한 조언 부탁드립니다. 그럼 수고하세요.

이 글에 대한 댓글이 총 2건 있습니다.

일단 먼저 이 문제가 데이터베이스 자체 결함인지 사용자 실수 인지부터 찾아야할 것 같습니다. 


만일 데이터베이스 자체 결함이라면 심각하네요. ^^


일단 select * from table where timestamp_column > '202000-01-01 00:00:00' 이런식으로 정말 그런 자료가 입력되었는지부터 보고, 그 자료가 입력된 주기나 힌트될만한 모든 것을 찾아보아야 할 것 같네요.


만일 있다면 그 timestamp 칼럼에 데이터를 집어넣는 쿼리들에 대해서는 모두 로그를 남겨보아야할 것 같습니다. 


insert 쿼리에서 모두 정상적으로 자료가 입력되었음에도 불구하고 2만년이 더 붙어 처리된다면 분명 database 결함일 것 같네요. 


데이터베이스 결함이라면, 어떤 경우에 그렇게 반응하는지 찾아낼 수 있다면, 그리고 항상 그렇게 반응한다면 이 결함은 수정될 수 있습니다. ^^

김상기(ioseph)님이 2007-07-30 13:30에 작성한 댓글입니다.

질문에 대한 답변 고맙습니다. ^^


좀 뒤늦게 결과를 올리게 되었네요. 질문을 올리고 이것저것 테스트 해보다 실제 데이터는 확실한건가


하는 의심이 가더라구요. 상기님 말씀처럼요. 그래서 테스트에 들어갔습니다. 입력해야 하는 데이터가 


총 1900만건이라서... 이게 또 주제별로 나누어진 데이터가 아니라 시간이 좀 걸렸습니다. DB에 시간 


값이 깨지게 나오는 데이터의 컬럼에서 특정 값을 찾아서 그 값을 추적해 보았더니... OTL


원본 데이터에 날짜가 그렇게 들어가 있었던겁니다. 원본데이터를 만들어준 사람한테 말했더니 DB 옮기


과정에서 쓰레기 값이 들어간것 같다고 하더라구요. 입력하는 데이터의 무결성을 생각하지 않은것이 이


번일이 일어난 원인 같습니다. 정말 아무것도 아닌일인데 관심가져주신 상기님 그냥님 고맙습니다.


그럼 수고하시고 여러분들도 데이터 체크 잊지마세요 ^^

조성찬님이 2007-08-01 13:41에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
7194조회만 가능한 계정을 만들고 싶습니다. [1]
사이베이스가 싫어
2007-08-07
5137
7193MS-SQL에서 OLE DB로 PG를 연결하는 방법이 있습니까? [1]
김명범
2007-08-01
5012
7192bool형을 쓰는 이유는 무언가요? [3]
post초보
2007-07-30
5135
7191timestamp 값에 쓰레기 값이 붙습니다. [2]
조성찬
2007-07-29
5235
7190schema(namespace) 는 무엇인가요?? 어떤 건지, 어떻게 사용하는지 알려주세요 [2]
Sly
2007-07-28
5020
7186Postgres 문서 [1]
나그네
2007-07-27
5393
7185COALESCE 함수에 대해서 [4]
배수동
2007-07-27
5294
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다