default_tablespace
| 버전 | 기본값 | context | 타입 |
|---|---|---|---|
| 14 | — | user | string |
| 15 | — | user | string |
| 16 | — | user | string |
| 17 | — | user | string |
| 18 | — | user | string |
| 19 | — | user | string |
CREATE 명령이 tablespace를 명시하지 않았을 때 객체(테이블·인덱스)를 만들 기본 tablespace를 정한다.
값은 tablespace 이름이거나, 현재 데이터베이스의 기본 tablespace를 뜻하는 빈 문자열이다. 존재하지 않는 tablespace 이름을 지정하면 PostgreSQL이 자동으로 현재 데이터베이스의 기본 tablespace를 사용한다. 기본이 아닌 tablespace를 지정하려면 그 tablespace에 대한 CREATE 권한이 있어야 하며, 없으면 객체 생성이 실패한다.
임시 테이블에는 이 파라미터가 적용되지 않고 temp_tablespaces를 따른다. 데이터베이스를 만들 때도 쓰이지 않는다 — 새 데이터베이스는 template 데이터베이스의 tablespace 설정을 물려받는다. 한 가지 주의할 동작으로, partitioned table을 만들 때 이 값이 빈 문자열이 아니면 그 값이 partitioned table의 tablespace로 기록되고, 이후 default_tablespace가 바뀌더라도 새로 만들어지는 partition의 기본 tablespace로 계속 쓰인다.
출처: PostgreSQL 18 문서