이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은의 동일한 페이지를 보려고 할 수 있습니다PostgreSQL : 문서 : 17 : 65.1. 데이터베이스 사설 토토 레이아웃버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

52.1. 토토 핫 파일 레이아웃

이 섹션은 수준의 스토리지 형식을 설명합니다. 파일 및 디렉토리.

토토 핫 클러스터에 필요한 모든 데이터는 내에 저장됩니다. 클러스터의 데이터 디렉토리는 일반적으로라고합니다.pgdata(환경 변수의 이름 이후 그것은 그것을 정의하는 데 사용될 수 있습니다). 의 일반적인 위치pgdatais/var/lib/pgsql/data. 여러 클러스터, 관리 다른 서버 인스턴스에 의해 동일한 컴퓨터에 존재할 수 있습니다.

thepgdata디렉토리에는 여러 가지가 포함되어 있습니다 과 같이 하위 디렉터 및 제어 파일표 52-1. 이러한 필수 항목 외에도 클러스터 구성 파일postgresql.conf, pg_hba.confpg_ident.conf전통적으로 저장되어pgdata(비록PostgreSQL8.0 이상이 가능합니다 다른 곳에 유지하십시오).

표 52-1. 의 내용pgdata

항목 설명
pg_version 주요 버전 번호가 포함 된 파일PostgreSQL
base -다이베이션 당 서브 디렉토리 하위 디렉터
글로벌 클러스터 전체 테이블을 포함하는 서브 디렉토리pg_database
PG_CLOG 트랜잭션 커밋 상태를 포함하는 하위 디렉토리 데이터
pg_multixact multitransaction 상태 데이터를 포함하는 서브 디렉토리 (공유 행 잠금에 사용)
PG_SUBTRANS 서브 트랜잭션 상태를 포함하는 서브 디렉토리 데이터
PG_TBLSPC 상징적 링크를 포함하는 하위 디렉토리 테이블 스페이스
PG_TWOPHASE 준비를위한 상태 파일을 포함하는 하위 디렉토리 업무
PG_XLOG WAL을 포함하는 서브 디렉토리 (앞서 로그 쓰기) 파일
postmaster.opts 명령 줄 옵션을 서버를 녹화하는 파일 마지막으로 시작되었습니다
postmaster.pid 현재 서버 PID를 기록하는 잠금 파일 및 공유 메모리 세그먼트 ID (서버 이후에 존재하지 않습니다 일시 휴업)

클러스터의 각 토토 핫마다 하위 디렉토리가 있습니다. 이내에pgdata/base, 토토 핫의 OID의 이름을 따서 명명되었습니다pg_database. 이 하위 디렉토리는 다음과 같습니다 데이터베이스 파일의 기본 위치; 특히, 그것 시스템 카탈로그가 저장되어 있습니다.

각 테이블과 색인은 별도의 파일에 저장됩니다. 테이블 또는 색인filenode번호, 에서 찾을 수있는pg_class.relfilenode.

주의

테이블의 필레 노드는 종종 그것과 일치합니다 OID, 이건not반드시 사건; 일부 작업,Truncate, Reindex, 클러스터그리고 일부 형태의Alter Table, Filenode를 변경할 수 있습니다 OID 보존. 그 filenode를 가정하지 마십시오 표 OID는 동일합니다.

테이블 또는 인덱스가 1GB를 초과하면 기가 바이트 크기세그먼트. 첫 번째 세그먼트의 파일 이름은 filenode와 동일합니다. 후속 세그먼트는 filenode.1, filenode.2 등입니다.이 배열 파일 크기 제한이있는 플랫폼의 문제를 피합니다. 그만큼 표와 인덱스의 내용은에서 더 자세히 설명합니다.섹션 52.3.

잠재적으로 큰 항목이있는 열이있는 테이블 관련토스트​​테이블입니다 너무 큰 필드 값의 외부 저장에 사용 테이블 행을 적절하게 유지하려면pg_class.reltoastrelid테이블에서 그 링크토스트테이블. 보다섹션 52.2더 많은 정보.

테이블 스페이스는 시나리오를 더 복잡하게 만듭니다. 각 사용자 정의 테이블 스페이스에는 내부에 상징적 링크가 있습니다.pgdata/PG_TBLSPC디렉토리 그것의 지정테이블 스페이스 생성명령). 기호 링크는 테이블 스페이스의 OID의 이름을 따서 명명되었습니다. 실제 테이블 스페이스 디렉토리 내부에는 하위 디렉토리가 있습니다 테이블 스페이스에 요소가있는 각 데이터베이스에 대해 데이터베이스의 OID 후. 해당 디렉토리의 테이블은 다음을 따릅니다 Filenode 명명 체계. 그만큼pg_default테이블 스페이스는 액세스하지 않습니다PG_TBLSPC하지만에 해당합니다.pgdata/base. 비슷하게, 그만큼pg_global테이블 스페이스에 액세스되지 않습니다 을 통해PG_TBLSPC이지만에 해당합니다.pgdata/global.