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 1609 게시물 읽기
No. 1609
Re: postgres 를 mysql 처럼 데이터형을 바꿀수 있는 방법이 있나요?
작성자
정재익
작성일
2000-09-04 19:14
조회수
7,341

안타깝게도 직접적인 방법은 없습니다.

alter table 명령어에도 field 이름을 rename 하는 명령어까지는 지원되는데 가장 중요한 것 중의 하나인 field의 type 변경 명령어는 없습니다. 그리고 field 를 지우는 명령어도 없지요. 편법은 두가지가 있습니다.

 

1. 새로운 테이블을 만든후 insert ... select ... 구문을 이용하는 법

create table t1 (a char(10));

create table t2 (a char(12));

 

insert into t2 select * from t1;

 

이해가 갈것으로 생각됩니다.

 

2. dump 받은 후 스키마를 고쳐서 다시 restore 하는 방법

pg_dump /t t1 db_name >t1.dmp

그리고 t1 테이블을 drop 시킵니다.

다음으로 vi t1.dmp 하시면 제일 상부에 t1 테이블을 구조를 볼수 있을 것입니다.

그곳을 수정 후에 psql db_name /e < t1.dmp 하시면 수정된 테이블대로 입력이 가능할 것입니다. 도움이 되셨길 바랍니다.

 

::정기태 님께서 쓰시길::

 

> 예를 들어서요..

>

> mysql 에서 jkt 라는 table안에 userid 라는 filed 가 있다고 해요..그런데 이 userid 의 형태는 varch

> ar(10) 이라고 하다면. 근데 제가 실수해서 varchar(12) 로 바꾸고 싶어요..

>

> 그럼 alter " table jkt change userid userid varchar(12); " 이렇게 하면 바뀌잖아요...

>

> postgres 에서는 어떻게 하나요?

>

> 솔직히 저도 mysql 이 좋지만, postgres를 써야 하는 상황이라서 그럽니다.부디 아시면 답변 부탁드리

> 겠습니다.

>

> 편법이라도 좋습니다..답변부탁드리겠습니다.

>

> 읽으시는 분에게 늘 행운이 있으시기 바랍니다.

[Top]
No.
제목
작성자
작성일
조회
1614이런 에러를 보셨는지요?
허예원
2000-09-06
6568
1617┕>Re: 이런 에러를 보셨는지요?
정재익
2000-09-07 06:56:30
7121
1622 ┕>Q: Re: 이런 에러를 보셨는지요?
허예원
2000-09-07 12:00:46
7342
1630  ┕>Re: Q: Re: 이런 에러를 보셨는지요?
정재익
2000-09-08 22:21:51
6692
1611postgres가 동작할때 사용하는 디렉토리나 파일은 어느것들 있습니까?
ruletan
2000-09-05
7388
1613┕>Re: postgres가 동작할때 사용하는 디렉토리나 파일은 어느것들 있습니까?
정재익
2000-09-06 07:41:29
7631
1608system catalog가 무엇인지요...
초보
2000-09-04
6468
1610┕>Re: system catalog가 무엇인지요...
정재익
2000-09-04 20:03:01
6994
1607postgres 를 mysql 처럼 데이터형을 바꿀수 있는 방법이 있나요?
정기태
2000-09-04
6645
1609┕>Re: postgres 를 mysql 처럼 데이터형을 바꿀수 있는 방법이 있나요?
정재익
2000-09-04 19:14:00
7341
1605initdb: pg_encoding failed 에러 원인
류원모
2000-09-01
6275
1606┕>Re: initdb: pg_encoding failed 에러 원인
정재익
2000-09-02 00:15:00
6281
1612┕>Re: initdb: pg_encoding failed 에러 원인
후키
2000-09-05 16:29:28
6028
1625┕>Re: initdb: pg_encoding failed 에러 원인
이진호
2000-09-08 15:37:12
6217
1988┕>Re: initdb: pg_encoding failed 에러 원인
곽상철
2000-12-16 18:32:48
5757
1602pg_am 이라는 에러에 대해서 설명좀 부탁드립니다.
젠드사랑
2000-08-31
6071
1603┕>Re: pg_am 이라는 에러에 대해서 설명좀 부탁드립니다.
정재익
2000-08-31 17:47:23
6202
1601pg_getlastoid() 함수...
박은경
2000-08-31
5759
1604┕>Re: pg_getlastoid() 함수...
정재익
2000-08-31 17:48:04
6150
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다