반응형
/********************************************************************************************
-- Title : [9.2] 테이블스페이스 Full시 확장 제약
-- Reference : dbrang.tistory.com
-- Key word : tablespace 테이블스페이스 LVM
********************************************************************************************/

-- 질의
    ㅇ 특정 테이블의 기본 테이블스페이스가 FULL일 때 확장 방법은?
    ㅇ 테이블스페이스내의 파일을 조작할 수 있다면 파일을 여유있는 다른 Volume에 생성해서 처리
        하겠지만 PostgreSQL은 테이블스페이스가 디렉토리만 관리해서 안됨.
    ㅇ alter table _ set tablespace {신규디렉토리} 했던니 기존 TBS 디렉토리에서 신규디렉토리로
        파일 자체가 이동함.

-- 답변 (database.sarang.net의 김상기님)

 OS의 LVM(Logical Volume Manager) 가 OS의 디스크 공간을 관리합니다. 

이놈이 online 중에 그 볼륨 크기를 재할당할 수 있죠.  

(물론 그 볼륨 크기를 크게만 할 수 있지, 줄이는 작업은 힘들죠)

이것이 오라클의 테이블스페이스 관리와 비슷합니다. 

즉, PG의 테이블스페이스 개념을 오라클의 것과 같이 생각하려면, 

그 테이블스페이스는 논리적 볼륨으로 구성되고 그 관리는 OS의 

논리적 볼륨 관리자가 하는 것이 맞을 것 같습니다. 

 

이런 기반이 아니라면, 

alter table ... tablespace 명령으로 테이블을 다른 테이블 스페이스로 옮기는 것이 

디스크 꽉참 장애를 해결하는 유일한 방법 같네요.




반응형

+ Recent posts