cgi를 만들다가 이상해서 올림니다.
table product(
p_code varchar(30),
p_name varchar(80),
p_madeby varchar(80),
price1 int,
price2 int,
category1 varchar(80),
category2 varchar(80),
category3 varchar(80),
recommand varchar(2),
etc1 varchar(4096),
etc2 text,
point int,
recom varchar(4096),
review varchar(4096),
pub_bg varchar(4096),
simplicity varchar(100)
);
이런 테이블을 사용하다가(데이터 입력되었음) 하나 추가할 필드가
생겨서( newbook varchar(1) ) pg_dump로 백업하여 test 사이트로
옮겨서 db를 다시 restore하였습니다. 그 후
=>alter table product add column newbook varchar(1);로 추가 하였습니다.
추가 전에 입력되 있던 데이터를 모두 지우고 새롭게 하나의 데이터를
입력 후
=>select * from product where newbook='Y'; 하였더니 제목과 같은
에러가 났습니다.(RestrictionClauseSelectivity: bad value 2.461732)
newbook field를 where절에 넣으면 그런 에러가 계속 생겼습니다.
그래서 이짓저짓하다가 백업받은 db파일의 내용을
수정( product table를 create하는 부분에 newbook field 추가)하여 restore시킨 후 작업을 하니깐 정상적으로 작동하더군요.
이상해서 2번정도 해봤는데 마찬가지더군요.
제가 뭘 잘못해선지, 원래 그런건지 몰라서 이렇게 올립니다.
저도 궁금하거든요.
참고로 postgresql/6.4.2/3kr.rpm을 사용하고 있습니다.
|