안녕하세요.
제가 상황을 정확히 몰라 어떻게 하시라고 말씀은 못드리겠지만 중복 데이타가 있다고 에러 메세지를 뿌린다는 것은 아마 primary key 선언하신 필드에 중복된 데이타 값이 있다는 것이 아닐까요? 그렇지 않다면 중복 데이타가 드러온다하더라도 에러메세지를 뿌리지를 않을 테니까요.
우선 primary key 선언하신 필드에 중복된 값이 있는지 체크해보시는 것이 어떻게
습니까 중복된 데이타 값을 체크하려면
select count(*) from <old table>
group by pk ///> primary key 로 선언하신 필드
having count(*) > 1;
하시면 될 것 같네요.
왕그지 님께서 쓰시길::
> 안녕하십니까?
> 지금 디비를 복구중에 있는데요...
> 워낙 그 디비에 문제가 많았거든요...
> 중복된 oid도 있고, 한 field에 index가 두개씩 잡혀있고요...
> 다른 서버로 옮길려는데 pg_dump가 안되고, copy도 안되서 그냥 전체
> pgsql디렉토리를 tar로 묵고 옮겨서 복구하는데...
> index를 새로만들고 기존에 있던 index를 지우면 어떤 data는 select해도 안나타납니다.
> 이번엔 아예 index를 다 없앴더니 안나타나던 data가 나타납니다.
> 그래서 새 테이블을 만들고 검색을 많이 하는 field에 primary key를 만들었습니다.
> 그리고 기존 테이블로 부터 copy시킨것을 새 테이블에 copy했더니 중복된 value
> 가 있다고 안된답니다.
> 중복된 value를 어떻게 해야 할까요?
> insert into <new table> select distinct * from <old table>
> 해두 마찬가지이거든요...
> 어떻게 해야 할 까요?
>
>
>
|