1. TABLESPACE란?
■ DB 내의 물리적인 부분으로 DB object 내 실제 데이터를 저장하는 공간이다. 단지 데이터베이스 저장소 위치를 지정하며, 논리적인 데이터베이스 구조나 스키마를 지정하지 않는다. (동일 스키마 내의 다른 오브젝트는 서로 다른 테이블스페이스에 위치할 수 있다.)
■ POSTGRESQL에서 TABLESPACE의 의미 또한 타 DB의 TABLESPACE 역할과 동일하며 DBA가 Database Object가 저장된 파일 시스템 장소를 정의할 수 있도록 한다.
2. TABLESPACE 조회
■ \db
3. TABLESPACE 생성
■ CREATE TABLESPACE [tablespace_name];
■ option
(1) OWNER [user_name]
- 입력하여 TABLESPACE를 소유하는 USER를 지정한다. 생략할 경우 접속되있던 USER가 default 값으로 저장되며 SUPERUSER만이 TABLESPACE를 생성할 수 있지만 권한을 부여받은 다른 USER가 생성하는 것도 가능하다.
(2) LOCATION 'directory'
- TABLESPACE에 사용될 DIRECTORY를 지정한다.
■ TABLESPACE의 Directory를 설정할 때, USER가 해당 Directory에 대한 권한을 가지고 있어야 한다.
- TABLESPACE를 위한 Directory를 생성하고 생성한 Directory에 권한을 부여해준다.
■ CREATE TABLESPACE [ts_name] OWNER [user_name] LOCATION ' [directory path] ';
예시) CREATE TABLESPACE POSTGRESQL_SPACE LOCATION '/db_space';
4. TABLESPACE 변경
■ ALTER TABLESPACE [ts_name] RENAME TO [new_tb_name]; // TABLESPACE 이름 변경
■ ALTER TABLESPACE [ts_name] OWNER TO [user_name]; // TABLESPACE OWNER 변경
5. TABLESPACE 삭제
■ DROP TABLESPACE [ts_name];
- TABLESPACE를 삭제해도 OS 내 Directory는 삭제되지 않습니다.
'[DB] POSTGRESQL' 카테고리의 다른 글
[PostgreSQL] Schema 관리(생성/추가/변경/삭제) (0) | 2020.04.06 |
---|---|
[PostgreSQL] 시간 데이터타입 쿼리/함수 (0) | 2020.04.01 |
[PostgreSQL] database 관리(생성/추가/삭제/변경) (0) | 2020.03.31 |
[PostgreSQL] 계정/유저 관리 (0) | 2020.03.31 |
[PostgreSQL] 기본 조회 명령어 및 변수 선언, 설정 (0) | 2020.03.31 |