/********************************************************************************************
-- Title : [9.2] 테이블스페이스 Full시 확장 제약
-- Reference : dbrang.tistory.com
-- Key word : tablespace 테이블스페이스 LVM
********************************************************************************************/
-- 질의
ㅇ 특정 테이블의 기본 테이블스페이스가 FULL일 때 확장 방법은?
ㅇ 테이블스페이스내의 파일을 조작할 수 있다면 파일을 여유있는 다른 Volume에 생성해서 처리
하겠지만 PostgreSQL은 테이블스페이스가 디렉토리만 관리해서 안됨.
ㅇ alter table _ set tablespace {신규디렉토리} 했던니 기존 TBS 디렉토리에서 신규디렉토리로
파일 자체가 이동함.
-- 답변 (database.sarang.net의 김상기님)
-- 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 명령으로 테이블을 다른 테이블 스페이스로 옮기는 것이
디스크 꽉참 장애를 해결하는 유일한 방법 같네요.