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

[PostgreSQL] Tablespace 생성

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

1. TABLESPACE

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

 

2. TABLESPACE  생성

생성할 폴더를 만든다.

mkdir postgre_db

소유권 변경

chown postgres postgre_db

 

postgresql 접속

java
닫기
# 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 조회

java
닫기
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
반응형


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