SQL92 사양에는 자료형을 바꾸는 명령어가 존재합니다.
하지만 불행하게도 PostgreSQL 에는 존재하지 않습니다.
그렇다면 어떻게 할 수 있을까요. 편법이 있습니다.
1. pg_dump 로 자료를 백업 받은 후 백업 받은 자료의 ASCII 파일을 직접 수정하여 다시 restore시키면 됩니다.
2. select * into tmp_table; 로 임시 테이블을 만든다음 원래의 테이블을 지우고 나서 원하는 자료형을 가진 새로운 테이블을 생성합니다. 다음으로 insert into table_name select * from tmp_table; 이런식으로 자료를 가져 오면 자료형의 수정을 제한적으로나마 할 수 있습니다.
권장하고 싶은 것은 PostgreSQL 을 사용한다면 varchar 을 사용하지 마시고 모든 텍스트형의 자료형은 고정 길이가 아닌 한은 text 자료형을 사용하시기 바랍니다. text 라는 자료형은 사실 다른 DBMS 에서는 상당히 불편한 자료형이지만 PostgreSQL에서는 상당히 편리한 자료형입니다.
> 안녕하세요
> 거의 모든 PostgreSQL의 정보를 많이 얻는 사람중에 한사람입니다.
> 처음 데이타의 Field Type을 결정하여 Table을 만들잖아요.
> 그런데 나중에 Type을 바꿀수 있습니까?
> 있다면 어떻게 바꾸어 주는 것인가요?
> 궁금하네요..
> 그리고 꼭 바꿀수 있어야 해요!!
> 왜냐면 중요한 데이타가 다들어 있는 상태이구
> 예로 ...>
> varchar(10)을 varchar (30)으로 바꾸어야 하거든요...
>
|