토토 꽁 머니 스페이스에서postgresql데이터베이스 관리자가 파일의 위치를 정의하도록 허용합니다 데이터베이스 개체를 나타내는 파일이 될 수있는 시스템 저장. 일단 생성되면 토토 꽁 머니 스페이스는 이름으로 참조 할 수 있습니다. 데이터베이스 개체를 만들 때.
토토 꽁 머니 스페이스를 사용하여 관리자는 디스크를 제어 할 수 있습니다 A의 레이아웃PostgreSQL설치. 이것은 적어도 두 가지 방법으로 유용합니다. 먼저 클러스터가 초기화 된 파티션 또는 볼륨이 부족합니다. 공간을 확장 할 수없고, 토토 꽁 머니 스페이스는 다른 파티션 및 시스템이 될 때까지 사용됩니다 재구성.
두 번째, 토토 꽁 머니 스페이스를 사용하면 관리자가 지식을 사용할 수 있습니다 데이터베이스 개체의 사용 패턴은 성능을 최적화합니다. 예를 들어, 매우 많이 사용되는 인덱스는 비싼 고체와 같이 매우 빠르고 고도로 사용 가능한 디스크 상태 장치. 동시에 보관 된 데이터를 저장하는 테이블 거의 사용되지 않거나 성능이 중요하지 않은 것은 저장 될 수 있습니다. 저렴하고 느린 디스크 시스템에서.
토토 꽁 머니 스페이스를 정의하려면 사용토토 꽁 머니 스페이스 생성예:
토토 꽁 머니 스페이스 패스트 스페이스 위치 '/mnt/sda1/postgresql/data';
위치는 기존의 빈 디렉토리 여야합니다. 소유자PostgreSQL시스템 사용자. 이후 토토 꽁 머니 스페이스 내에서 생성 된 모든 객체 이 디렉토리 아래에 파일에 저장됩니다.
참고 :일반적으로 제작에는 많은 점이 없습니다 논리 파일 시스템 당 하나 이상의 토토 꽁 머니 스페이스. a 내에서 개별 파일의 위치를 제어 할 수 없습니다 논리 파일 시스템. 하지만,PostgreSQL그러한 것을 시행하지 않습니다 제한 사항, 실제로 파일을 직접 알지 못합니다. 시스템의 시스템 경계. 파일을 저장합니다 당신이 사용한다고 말하는 디렉토리.
토토 꽁 머니 스페이스 자체의 생성은 데이터베이스로 수행해야합니다. SuperUser이지만 그 후에는 일반 데이터베이스 사용자를 허용 할 수 있습니다. 그것을 사용하기 위해. 그렇게하려면 그들에게 |생성그것에 대한 특권.
토토 꽁 머니, 인덱스 및 전체 데이터베이스를 할당 할 수 있습니다 특정 토토 꽁 머니 스페이스. 그렇게하려면을 가진 사용자Create지정된 토토 꽁 머니 스페이스의 권한은 통과해야합니다 토토 꽁 머니 스페이스 이름은 관련 명령의 매개 변수입니다. 을 위한 예, 다음은 토토 꽁 머니 스페이스에 테이블을 만듭니다Space1:
테이블 foo (i int) 토토 꽁 머니 스페이스 공간 1; 생성
또는 사용default_tablespace매개 변수 :
set default_tablespace = space1; 테이블 생성 foo (i int);
언제default_tablespace빈 줄 외에는 무엇이든 암시 적으로 제공토토 꽁 머니 스페이스조항생성 테이블and색인 생성명령 명백한 것이 없습니다.
데이터베이스와 관련된 토토 꽁 머니 스페이스는 해당 데이터베이스의 시스템 카탈로그 및 임시 파일 해당 데이터베이스를 사용하여 서버 프로세스에 의해 생성됩니다. 게다가 생성 된 테이블 및 인덱스에 대해 선택한 기본 토토 꽁 머니 스페이스입니까? 데이터베이스 내에서토토 꽁 머니 스페이스조항이 제공됩니다 (명시 적으로 또는 viadefault_tablespace) 객체가 생성 될 때. 토토 꽁 머니 스페이스를 지정하지 않고 데이터베이스가 생성 된 경우 복사 된 템플릿 데이터베이스와 동일한 토토 꽁 머니 스페이스를 사용합니다. 에서.
두 토토 꽁 머니 스페이스가 자동으로initdb. 그만큼pg_global토토 꽁 머니 스페이스는 공유 시스템 카탈로그에 사용됩니다. 그만큼pg_default토토 꽁 머니 스페이스는 기본 토토 꽁 머니 스페이스입니다 그만큼template1및Template0데이터베이스 (따라서 재정의하지 않는 한 다른 데이터베이스의 기본 토토 꽁 머니 스페이스 A토토 꽁 머니 스페이스조항데이터베이스 생성).
일단 생성되면 모든 데이터베이스에서 토토 꽁 머니 스페이스를 사용할 수 있습니다. 요청하는 사용자에게 충분한 권한이있는 경우. 이것은 의미합니다 모든 객체가 모든 물체가 될 때까지 토토 꽁 머니 스페이스를 삭제할 수 없습니다. 토토 꽁 머니 스페이스를 사용한 데이터베이스가 제거되었습니다.
빈 토토 꽁 머니 스페이스를 제거하려면를 사용하십시오.드롭 토토 꽁 머니 스페이스명령.
기존 토토 꽁 머니 스페이스 세트를 결정하려면를 검사하십시오.pg_tablespace시스템 카탈로그 예
pg_tablespace에서 spcname을 선택하십시오;
thePSQL프로그램\ dbMeta-Command는 또한 목록에 유용합니다 기존 토토 꽁 머니 스페이스.
PostgreSQL광범위하게 만듭니다 구현을 단순화하기 위해 기호 링크 사용 토토 꽁 머니 스페이스. 이것은 토토 꽁 머니 스페이스를 사용할 수 있음을 의미합니다전용지원하는 시스템 상징적 링크.
디렉토리$ pgdata/pg_tblspc지정되지 않은 각각을 가리키는 상징적 링크가 포함되어 있습니다. 클러스터에 정의 된 토토 꽁 머니 스페이스. 권장하지는 않지만 재정의하여 토토 꽁 머니 스페이스 레이아웃을 직접 조정할 수 있습니다. 이 링크. 두 가지 경고 : 우체국 장이있는 동안 그렇게하지 마십시오. 달리기; 그리고 우체국 장을 다시 시작한 후 업데이트PG_TABLESPACE새로운 것을 보여주는 카탈로그 위치. (그렇지 않으면pg_dump의지 오래된 토토 꽁 머니 스페이스 위치를 계속 보여줍니다.)