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 4575 게시물 읽기
No. 4575
시퀀스 테이블은 삭제 못하나요?
작성자
박지영
작성일
2003-02-11 23:40
조회수
1,629

테이블을 drop한후에도 시퀀스 테이블이 남아서,좀 걸림돌이 되는데요..시퀀스 테이블은 삭제 할수 없나요?일일이 테이블 이름 바꾸려니깐 지저분하기도 하고 보기 않좋네요.기분도 개운치 않구요.

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

시퀀스와 테이블은 서로 독립적입니다. (이것이 원칙입니다.)

즉, 여러 테이블이 같은 시퀀스를 사용할 수도 있습니다.

 

그래서, 테이블이 삭제 되었다 하더라도 시퀀스를 삭제 하지 않는 것이 바람직합니다.

 

그런데, 문제는 PostgreSQL에서는 serial 이라는 자료형이 자동으로 시퀀스를 만드는데, 이것 때문에 윗 시퀀스와 테이블의 관계에서 아주 묘한 문제점이 생기게 됩니다.

 

7.2.x 이하 버전에서는 일단 serial 자료형으로 선언했건 말건 무조건 SQL 원칙을 따릅니다.

즉, 테이블을 만들때, 비록 자동으로 생겼다 하더라도 테이블이 삭제될 때는 자동으로 삭제 되지 않습니다.

 

하지만, 7.3 이상 버전에서는

두가지 경우로 처리합니다.

serial 때문에 생간 시퀀스는 테이블 종속적으로 테이블이 삭제되면 자동으로 삭제 되지만, 시퀀스 독립적으로 삭제가 불가능해지며,

사용자가 임의로 시퀀스를 만들면, 그놈은 테이블과 독립적으로 삭제됩니다.

 

(어느 처리가 더 바람직한지는 모르겠지만, 아무튼 7.3 이상 버전에서는 이방식을 사용하게 되었습니다)

 

이상이 PostgreSQL의 시퀀스 처리에 대한 약사(?)입니다.

 

질문의 답:

DROP SEQUENCE sql 구문을 살펴보세요.

김상기(ioseph)님이 2003-02-12 09:37에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
4582postgresSQL을 처음 접하는데염.. [4]
이분희
2003-02-14
2387
4577세팅시 문자셋 확인하는... [1]
소희
2003-02-12
1366
4576걸어둔 인덱스 목록을 보고 싶은데요. [2]
박지영
2003-02-12
1229
4575시퀀스 테이블은 삭제 못하나요? [1]
박지영
2003-02-11
1629
4574[질문]Power Builder와의 연동시 테이블 정보를 못가져옴 [2]
서영철
2003-02-11
1268
4573varying에서 integer로 타이캐스팅이 안되나요? [3]
박지영
2003-02-11
969
4571특정 테이블만 복사하는방법? [2]
박지영
2003-02-11
1379
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다