본문 바로가기
데이터베이스/Postgresql

[PostgreSQL] Tablespace 생성

by cbwstar 2021. 7. 16.
728x90
반응형

1. TABLESPACE

- DB 내의 물리적인 부분으로 실제 데이터를 저장하는 공간이다.

 

2. TABLESPACE  생성

생성할 폴더를 만든다.

mkdir postgre_db

소유권 변경

chown postgres postgre_db

 

postgresql 접속

# psql -U postgres
psql (13.3 (Debian 13.3-1.pgdg100+1))
도움말을 보려면 "help"를 입력하십시오.

postgres=# create tablespace invako_tbl owner invako location '/postgre_db';
CREATE 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] ';

 

3. TABLESPACE 조회

postgres=# \db
         테이블스페이스 목록
    이름    |  소유주  |    위치
------------+----------+-------------
 invako_tbl | invako   | /postgre_db
 pg_default | postgres |
 pg_global  | postgres |
(3개 행)

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는 삭제되지 않습니다.



 

728x90
반응형

댓글



"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

loading