PostgreSQL

[PostgreSQL] tablespace 란? 생성법과 개념 정리

리거니 2023. 3. 21. 13:52
tablespace 란


데이터베이스 객체가 파일 시스템상에서 저장되는 물리적인 공간을 의미한다.
논리적인 데이터베이스 구조나 스키마를 지정하지 않는다.


PostgreSQL에서 DB는 PGDATA라는 환경변수에 지정된 디렉터리를 통째로 DB로 사용한다.

그리고 그 하위에 테이블이 파일로 생성된다.

즉 테이블스페이스를 따로 생성하지 않아도 DB에 사용자 테이블을 만들 수 있다.

기본적으로 DB로 지정된 디렉토리 전체가 하나의 기본 테이블스페이스로 인식되는 것이다.



PostgreSQL 공식문서는 아래와 같이 정의하고 있다.

https://www.postgresql.kr/docs/9.6/manage-ag-tablespaces.html



- postgresql에서 기본으로 테이블스페이스가 생성되는 여부

       * 기본적으로 pg_default, pg_global 이 생성됩니다.

 

               List of tablespaces

    Name    |  Owner   |        Location

------------+----------+-------------------------

 pg_default | postgres |

 pg_global  | postgres |

 
         

          * pg_default 의 경우 기본 default 경로로써 따로 T/S 를 지정하지 않을 경우 해당 T/S를 사용 

          * pg_global 의 경우 postgresql 공유 시스템 카탈로그에 사용되는 공간

 


 

테이블 스페이스는 다음과 같은 DDL 문으로 생성할 수 있으며 해당 테이블스페이스에 태이블을 생성할 수 있다.

 

 

 

 - 테이블스페이스가 생성된다면, 용량을 산정하는 방법 

 

       * postgresql 은 T/S 생성 시 미리 용량을 산정하는 방식이 아닌 생성한 하나의 디렉토리에 데이터를 적재하는 방식입니다.

         

 - 만약 테이블 스페이스를 조회할 수 없다면, 시스템에서 DB에 할당되는 용량 조회 방법 문의

 

  1.           \db+ 명령어를 통한 조회

 

postgres=# \db+

                                         List of tablespaces

    Name    |  Owner   |        Location         | Access privileges | Options |  Size  | Description

------------+----------+-------------------------+-------------------+---------+--------+-------------

 pg_default | postgres|                         |                   |         | 214 MB |

 pg_global  | postgres|                         |                   |         | 608 kB |

 fastspace  | postgres|                         |                   |         |  98 MB |
 

         2.         디렉토리를 통한 조회

 

[postgres@localhost pg_tblspc]$ pwd

/postgres/data/pg_tblspc

[postgres@localhost pg_tblspc]$ ll

total 0

lrwxrwxrwx. 1 postgres postgres 23 Mar  3 08:58 41174 -> /ssd/mydb2/data

 

[postgres@localhost data]$ du -h
98M     ./PG_14_202107181/41175
0       ./PG_14_202107181/pgsql_tmp
98M     ./PG_14_202107181
98M     .