23.6. 토토 꽁 머니 스페이스#

토토 꽁 머니 스페이스에서postgresql데이터베이스 관리자가 데이터베이스 개체를 나타내는 파일을 저장할 수있는 파일 시스템에서 위치를 정의 할 수 있도록 허용합니다. 일단 생성되면, 데이터베이스 개체를 만들 때 토토 꽁 머니 스페이스를 이름으로 언급 할 수 있습니다.

토토 꽁 머니 스페이스를 사용하여 관리자는 a의 디스크 레이아웃을 제어 할 수 있습니다.postgresql설치. 이것은 적어도 두 가지 방법으로 유용합니다. 먼저, 클러스터가 초기화 된 파티션 또는 볼륨이 공간에서 실행되고 확장 될 수없는 경우, 다른 파티션에서 토토 꽁 머니 스페이스를 생성하고 시스템을 재구성 할 수있을 때까지 사용할 수 있습니다..

두 번째, 토토 꽁 머니 스페이스를 사용하면 관리자가 데이터베이스 개체의 사용 패턴에 대한 지식을 사용하여 성능을 최적화 할 수 있습니다. 예를 들어, 매우 많이 사용되는 인덱스는 고가의 고형 상태 장치와 같이 매우 빠르고 고도로 사용 가능한 디스크에 배치 할 수 있습니다. 동시에, 거의 사용되지 않거나 성능이 중요하지 않은 보관 된 데이터를 저장하는 테이블은 저렴하고 느린 디스크 시스템에 저장 될 수 있습니다.

경고

메인 PostgreSQL 데이터 디렉토리 외부에 있더라도 토토 꽁 머니 스페이스는 데이터베이스 클러스터의 필수 부분이며할 수 없음자율 데이터 파일 수집으로 취급됩니다. 이들은 기본 데이터 디렉토리에 포함 된 메타 데이터에 의존하므로 다른 데이터베이스 클러스터에 첨부하거나 개별적으로 백업 할 수 없습니다. 마찬가지로, 토토 꽁 머니 스페이스 (파일 삭제, 디스크 고장 등)가 손실되면 데이터베이스 클러스터를 읽을 수 없거나 시작할 수 없을 수 있습니다. RAM 디스크와 같은 임시 파일 시스템에 토토 꽁 머니 스페이스를 배치하면 전체 클러스터의 신뢰성이 위험합니다.

토토 꽁 머니 스페이스를 정의하려면를 사용하십시오.토토 꽁 머니 스페이스 생성명령, 예 ::

토토 꽁 머니 스페이스 FastSpace 위치 작성 '/ssd1/postgresql/data';

위치는 기존의 빈 디렉토리 여야합니다.PostgreSQL운영 체제 사용자. 이후 토토 꽁 머니 스페이스 내에서 생성 된 모든 객체는이 디렉토리 아래의 파일에 저장됩니다. 토토 꽁 머니 스페이스가 없거나 손실되면 클러스터가 작동하지 않을 수 있으므로 위치는 탈착식 또는 과도 스토리지에 있어서는 안됩니다.

note

논리 파일 시스템 내에서 개별 파일의 위치를 ​​제어 할 수 없기 때문에 논리 파일 시스템 당 하나 이상의 토토 꽁 머니 스페이스를 만들 때 일반적으로 많은 점이 없습니다. 하지만,PostgreSQL그러한 제한을 시행하지 않으며 실제로 시스템의 파일 시스템 경계를 직접 알지 못합니다. 그것은 당신이 사용한다고 말하는 디렉토리에 파일을 저장합니다.

토토 꽁 머니 스페이스 자체의 생성은 데이터베이스 슈퍼 사용자로 수행해야하지만 그 후에는 일반 데이터베이스 사용자가이를 사용할 수 있습니다. 그렇게하려면 그들에게 |생성그것에 대한 특권.

토토 꽁 머니, 인덱스 및 전체 데이터베이스를 특정 토토 꽁 머니 스페이스에 할당 할 수 있습니다. 그렇게하려면을 가진 사용자생성지정된 토토 꽁 머니 스페이스의 권한은 토토 꽁 머니 스페이스 이름을 관련 명령에 매개 변수로 전달해야합니다. 예를 들어, 다음은 토토 꽁 머니 스페이스에서 테이블을 만듭니다Space1:

테이블 foo (i int) 토토 꽁 머니 스페이스 공간 1; 생성

또는 사용default_tablespace매개 변수 :

set default_tablespace = space1;
테이블 생성 foo (i int);

언제default_tablespace빈 줄을 제외한 모든 것으로 설정되어 있으며 암시 적으로 제공토토 꽁 머니 스페이스조항테이블 생성색인 생성명시적인 명령이없는 명령.

a도 있습니다.temp_tablespaces매개 변수는 임시 테이블 및 인덱스의 배치를 결정하고 대형 데이터 세트를 정렬하는 것과 같은 목적으로 사용되는 임시 파일을 결정합니다. 이것은 하나만이 아닌 토토 꽁 머니 스페이스 이름의 목록 일 수 있으므로 임시 객체와 관련된 부하가 여러 토토 꽁 머니 스페이스에 퍼질 수 있습니다. 목록의 임의의 멤버는 임시 객체를 만들 때마다 선택됩니다.

데이터베이스와 관련된 토토 꽁 머니 스페이스는 해당 데이터베이스의 시스템 카탈로그를 저장하는 데 사용됩니다. 또한 데이터베이스 내에서 생성 된 테이블, 인덱스 및 임시 파일에 사용되는 기본 토토 꽁 머니 스페이스입니다.토토 꽁 머니 스페이스조항이 제공되며 다른 선택이 지정되지 않습니다.default_tablespace또는temp_tablespaces(적절한 경우). 이를 위해 테이블 ​​스페이스를 지정하지 않고 데이터베이스가 생성 된 경우, 복사 한 템플릿 데이터베이스와 동일한 토토 꽁 머니 스페이스를 사용합니다..

데이터베이스 클러스터가 초기화 될 때 두 개의 토토 꽁 머니 스페이스가 자동으로 작성됩니다. 그만큼pg_global토토 꽁 머니 스페이스는 공유 시스템 카탈로그에 사용됩니다. 그만큼pg_default토토 꽁 머니 스페이스는의 기본 토토 꽁 머니 스페이스입니다.template1andTemplate0데이터베이스 (따라서 A에 의해 재정의되지 않는 한 다른 데이터베이스의 기본 토토 꽁 머니 스페이스가됩니다.토토 꽁 머니 스페이스조항데이터베이스 생성).

일단 생성되면 요청하는 사용자가 충분한 권한이있는 경우 모든 데이터베이스에서 토토 꽁 머니 스페이스를 사용할 수 있습니다. 즉, 토토 꽁 머니 스페이스를 사용하는 모든 데이터베이스의 모든 객체가 제거 될 때까지 토토 꽁 머니 스페이스를 삭제할 수 없습니다.

빈 토토 꽁 머니 스페이스를 제거하려면를 사용하십시오.드롭 토토 꽁 머니 스페이스명령.

기존 토토 꽁 머니 스페이스 세트를 결정하려면를 검사하십시오.PG_TABLESPACE시스템 카탈로그, 예를 들어

pg_tablespace에서 spcname을 선택하십시오;

thePSQL프로그램\ dbMeta-Command는 기존 토토 꽁 머니 스페이스를 나열하는 데 유용합니다.

디렉토리$ pgdata/pg_tblspc클러스터에 정의 된 각 토토 꽁 머니 스페이스를 가리키는 상징적 링크가 포함되어 있습니다. 권장되지는 않지만 이러한 링크를 재정의하여 토토 꽁 머니 스페이스 레이아웃을 직접 조정할 수 있습니다. 어떤 상황에서도 서버가 실행중인 동안이 작업을 수행합니다. Postgresql 9.1 이상에서를 업데이트해야합니다.PG_TABLESPACE새 위치가있는 카탈로그. (그렇지 않으면pg_dump이전 토토 꽁 머니 스페이스 위치를 계속 출력합니다.)

정정 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면