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 4750 게시물 읽기
No. 4750
[질문] alter 궁금합니다.
작성자
대훈
작성일
2003-06-09 01:11
조회수
2,239

postgresql 7.3.2 입니다.

 

어느 한 테이블에 컬럼 데이타타입을 수정하려고 합니다.

수정하고자 하는 테이블은 다른 테이블과 on delete cascade 로 관계되어 있구요

 

varchar(50) -> varchar(55) 만 바꾸면 되는데 어케 해야 할까요?

 

새테이블을 만들어서 입력을 하면 된다는데 어떻게 정말 되는지..

혹은 dump 한후에 copy 해서 입력하면 된다는데 어케 사용하는건지...

 

궁금합니다 도와주세요

수고하세요

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

일단 해당 테이블을 모두 덤프받습니다.

pg_dump -t table_name dbname > dumpfile

dumpfile에서 테이블 스키마를 다시 원하는 모양으로 정의하고,

다음 해당 테이블을 drop 시키고,

다시 psql 에서 \i 명령으로 restore 시키면 되겠지요.

 

여기서 주의하셔야할 부분은 foreign key 형태의 constraint 가 걸려있는 경우는

7.3.x 에서는 SET CONSTRAINTS sql 명령이 추가 되었습니다. 이놈은 해당 테이블과 관계있는 constraints 작업들을 disable 시키거나 enable 시킬 수 있는 기능입니다.

 

일단 해당 테이블을

SET CONSTRAINTS constraint_name DEFERRED

로 작업을 중지 시키고 restore 하는 방법도 있습니다.

 

-----

질문 내용으로 보아 이부분의 설명도 꽤 어럽게 다가갈것 같은데....

http://database.sarang.net/database/postgres/manual/manual-7.3/backup.html

문서를 한번 차근히 읽어보시는 것도 도움이 될 듯싶습니다.

김상기(ioseph)님이 2003-06-09 13:24에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
4754[설치] initdb 시 lc_messages 에러 [1]
초보
2003-06-11
1903
47533개의 테이블을 조인할때는 [1]
gabriel
2003-06-11
1784
4752[질문]에러메세지가 이렇게 떠요
초보
2003-06-10
1852
4750[질문] alter 궁금합니다. [1]
대훈
2003-06-09
2239
4749에러 메세지... [1]
김현주
2003-06-07
1439
4748문자셋 문제.. [1]
장나영
2003-06-05
2508
4747[질문] PRIMARY KEY를 oid로... [3]
임유빈
2003-06-04
1461
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다