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