토토 꽁 머니스페이스PostgreSQL데이터베이스 관리자는 데이터베이스 개체를 나타내는 파일을 저장할 수 있는 파일 시스템의 위치를 정의할 수 있습니다. 일단 생성된 토토 꽁 머니스페이스는 데이터베이스 객체 생성 시 이름으로 참조될 수 있습니다.
관리자는 토토 꽁 머니스페이스를 사용하여 다음의 디스크 레이아웃을 제어할 수 있습니다.PostgreSQL설치. 이는 적어도 두 가지 면에서 유용합니다. 첫째, 클러스터가 초기화된 파티션이나 볼륨에 공간이 부족해 확장이 불가능한 경우, 다른 파티션에 토토 꽁 머니스페이스를 생성해 시스템이 재구성될 때까지 사용할 수 있다.
둘째, 토토 꽁 머니스페이스를 통해 관리자는 데이터베이스 개체의 사용 패턴에 대한 지식을 활용하여 성능을 최적화할 수 있습니다. 예를 들어, 매우 많이 사용되는 인덱스는 고가의 솔리드 스테이트 장치와 같이 매우 빠르고 가용성이 높은 디스크에 배치될 수 있습니다. 동시에 거의 사용되지 않거나 성능이 중요하지 않은 보관된 데이터를 저장하는 테이블은 더 저렴하고 느린 디스크 시스템에 저장할 수 있습니다.
기본 PostgreSQL 데이터 디렉토리 외부에 위치하더라도 토토 꽁 머니스페이스는 데이터베이스 클러스터의 필수적인 부분이며할 수 없습니다자율적인 데이터 파일 모음으로 취급됩니다. 이는 기본 데이터 디렉터리에 포함된 메타데이터에 의존하므로 다른 데이터베이스 클러스터에 연결하거나 개별적으로 백업할 수 없습니다. 마찬가지로, 토토 꽁 머니스페이스가 손실되면(파일 삭제, 디스크 오류 등) 데이터베이스 클러스터를 읽을 수 없거나 시작할 수 없게 될 수 있습니다. RAM 디스크와 같은 임시 파일 시스템에 토토 꽁 머니스페이스를 배치하면 전체 클러스터의 안정성이 위험해집니다.
토토 꽁 머니스페이스를 정의하려면 다음을 사용하십시오.토토 꽁 머니스페이스 생성명령, 예::
CREATE TABLESPACE fastspace LOCATION '/ssd1/postgresql/data';
위치는 다음이 소유한 기존의 빈 디렉토리여야 합니다.포스트그레SQL운영 체제 사용자. 토토 꽁 머니스페이스 내에서 이후에 생성된 모든 개체는 이 디렉터리 아래의 파일에 저장됩니다. 토토 꽁 머니스페이스가 누락되거나 손실되면 클러스터가 작동하지 않을 수 있으므로 위치는 이동식 또는 임시 스토리지에 있어서는 안 됩니다.
논리 파일 시스템 내에서 개별 파일의 위치를 제어할 수 없기 때문에 일반적으로 논리 파일 시스템당 하나 이상의 토토 꽁 머니스페이스를 만드는 데 큰 의미가 없습니다. 그러나PostgreSQL그러한 제한을 적용하지 않으며 실제로 시스템의 파일 시스템 경계를 직접 인식하지 않습니다. 단지 사용하도록 지시한 디렉토리에 파일을 저장합니다.
토토 꽁 머니스페이스 생성 자체는 데이터베이스 슈퍼유저로 수행되어야 하지만 이후에는 일반 데이터베이스 사용자가 사용하도록 허용할 수 있습니다. 그렇게 하려면 그들에게 다음을 부여하십시오.생성권한이 있습니다.
테이블, 인덱스 및 전체 데이터베이스를 특정 토토 꽁 머니스페이스에 할당할 수 있습니다. 그렇게 하려면 다음을 가진 사용자가생성주어진 토토 꽁 머니스페이스에 대한 권한은 토토 꽁 머니스페이스 이름을 관련 명령에 대한 매개변수로 전달해야 합니다. 예를 들어, 다음은 토토 꽁 머니스페이스에 테이블을 생성합니다.공간1:
CREATE TABLE foo(i int) TABLESPACE space1;
또는 다음을 사용하세요.default_tablespace매개변수:
SET default_tablespace = space1; 테이블 생성 foo(i int);
언제default_tablespace빈 문자열이 아닌 다른 문자열로 설정되어 암시적토토 꽁 머니스페이스절테이블 생성그리고색인 생성명시적인 명령이 없는 명령.
또한 있습니다temp_tablespaces매개변수는 임시 테이블과 인덱스는 물론 대규모 데이터 세트 정렬과 같은 목적으로 사용되는 임시 파일의 위치를 결정합니다. 임시 개체와 관련된 로드가 여러 토토 꽁 머니스페이스에 분산될 수 있도록 토토 꽁 머니스페이스 이름 목록이 하나가 아닌 목록일 수 있습니다. 임시 개체가 생성될 때마다 목록의 무작위 구성원이 선택됩니다.
데이터베이스와 연결된 토토 꽁 머니스페이스는 해당 데이터베이스의 시스템 카탈로그를 저장하는 데 사용됩니다. 또한, 데이터베이스 내에 생성된 테이블, 인덱스, 임시 파일에 사용되는 기본 토토 꽁 머니스페이스입니다.토토 꽁 머니스페이스절이 제공되고 다음으로 다른 선택사항이 지정되지 않습니다.default_tablespace또는temp_tablespaces(적절하게). 토토 꽁 머니스페이스를 지정하지 않고 데이터베이스를 생성하면 데이터베이스가 복사된 템플릿 데이터베이스와 동일한 토토 꽁 머니스페이스를 사용합니다.
데이터베이스 클러스터가 초기화되면 두 개의 토토 꽁 머니스페이스가 자동으로 생성됩니다.pg_global토토 꽁 머니스페이스는 공유 시스템 카탈로그에 사용됩니다.pg_default토토 꽁 머니스페이스는 다음의 기본 토토 꽁 머니스페이스입니다.템플릿1그리고템플릿0데이터베이스(따라서 다음으로 재정의되지 않는 한 다른 데이터베이스의 기본 토토 꽁 머니스페이스도 됩니다.토토 꽁 머니스페이스절데이터베이스 생성).
한번 생성되면 요청하는 사용자에게 충분한 권한이 있는 경우 모든 데이터베이스에서 토토 꽁 머니스페이스를 사용할 수 있습니다. 이는 토토 꽁 머니스페이스를 사용하는 모든 데이터베이스의 모든 개체가 제거될 때까지 토토 꽁 머니스페이스를 삭제할 수 없음을 의미합니다.
빈 토토 꽁 머니스페이스를 제거하려면 다음을 사용하십시오.드롭 토토 꽁 머니스페이스명령.
기존 토토 꽁 머니스페이스 세트를 확인하려면 다음을 검사하십시오.pg_tablespace시스템 카탈로그, 예를 들어
pg_tablespace에서 spcname 선택;
그psql프로그램\dbmeta-command는 기존 토토 꽁 머니스페이스를 나열하는 데도 유용합니다.
디렉토리$PGDATA/pg_tblspc클러스터에 정의된 기본 제공되지 않은 각 토토 꽁 머니스페이스를 가리키는 기호 링크가 포함되어 있습니다. 권장되지는 않지만 이러한 링크를 재정의하여 토토 꽁 머니스페이스 레이아웃을 직접 조정할 수 있습니다. 서버가 실행되는 동안에는 어떠한 경우에도 이 작업을 수행하지 마십시오. PostgreSQL 9.1 이하에서는 다음도 업데이트해야 합니다.pg_tablespace새 위치로 카탈로그를 작성하세요. (그렇지 않으면,pg_dump이전 토토 꽁 머니스페이스 위치를 계속 출력합니다.)
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.