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

69.1. 데이터베이스 파일 레이아웃

이 섹션은 스포츠 토토 베트맨 및 디렉토리 수준의 스토리지 형식을 설명합니다.

전통적으로 데이터베이스 클러스터에서 사용하는 구성 및 데이터 스포츠 토토 베트맨은 클러스터의 데이터 디렉토리 내에 함께 저장되며 일반적으로pgdata(환경 변수의 이름을 따라 정의하는 데 사용할 수있는 환경 변수). 의 일반적인 위치pgdatais/var/lib/pgsql/data. 다른 서버 인스턴스에서 관리하는 여러 클러스터는 동일한 시스템에 존재할 수 있습니다.

thepgdata디렉토리에는 여러 하위 디렉토리 및 제어 스포츠 토토 베트맨이 포함되어 있습니다.표 69.1. 이러한 필수 항목 외에도 클러스터 구성 스포츠 토토 베트맨postgresql.conf, pg_hba.confpg_ident.conf전통적으로 저장되어pgdata, 다른 곳에 배치 할 수는 있지만.

표 69.1. 의 내용pgdata

항목 설명
pg_version 주요 버전 번호를 포함하는 스포츠 토토 베트맨PostgreSQL
base 다이타베이스 당 하위 디렉토리를 포함하는 하위 디렉토리
current_logfiles 파일 로그 컬렉터가 현재 작성한 로그 파일 기록
글로벌 클러스터 전체 테이블을 포함하는 서브 디렉토리pg_database
PG_COMMIT_TS 트랜잭션 커밋 타임 스탬프 데이터를 포함하는 하위 디렉토리
PG_DYNSHMEM 동적 공유 메모리 서브 시스템에서 사용하는 스포츠 토토 베트맨을 포함하는 서브 디렉토리
pg_logical 논리적 디코딩을위한 상태 데이터를 포함하는 하위 디렉토리
pg_multixact 다중 항문 상태 데이터를 포함하는 하위 디렉토리 (공유 행 잠금에 사용)
pg_notify 서브 디렉토리가 포함 된 청취/알림 상태 데이터
PG_REPLSLOT 복제 슬롯 데이터를 포함하는 하위 디렉토리
PG_SERIAL 커밋 된 직렬화 가능한 트랜잭션에 대한 정보가 포함 된 하위 디렉토리
PG_SNAPSHOTS 내보내기 스냅 샷을 포함하는 하위 디렉토리
PG_STAT 통계 서브 시스템에 대한 영구 스포츠 토토 베트맨을 포함하는 서브 디렉토리
PG_STAT_TMP 통계 서브 시스템에 대한 임시 스포츠 토토 베트맨을 포함하는 하위 디렉토리
PG_SUBTRANS 하위 변환 상태 데이터를 포함하는 하위 디렉토리
PG_TBLSPC 테이블 스페이스에 대한 상징적 링크를 포함하는 하위 디렉토리
PG_TWOPHASE 준비된 트랜잭션을위한 상태 스포츠 토토 베트맨을 포함하는 서브 디렉토리
PG_WAL WAL을 포함하는 서브 디렉토리 (앞서 로그 쓰기) 스포츠 토토 베트맨
PG_XACT 트랜잭션 커밋 상태 데이터를 포함하는 하위 디렉토리
postgresql.auto.conf 구성 매개 변수 저장에 사용되는 스포츠 토토 베트맨Alter System
postmaster.opts 서버가 마지막으로 시작된 명령 줄 옵션을 녹화하는 스포츠 토토 베트맨
postmaster.pid 현재 Postmaster 프로세스 ID (PID), 클러스터 데이터 디렉토리 경로, 포스트 마스터 시작 타임 스탬프, 포트 번호, UNIX-Domain 소켓 디렉토리 경로 (Windows에서 비어 있음), 첫 번째 유효한 Listen_Address (IP 주소 또는를 녹음하는 잠금 파일.*, 또는 TCP에서 듣지 않으면 비어 있음) 및 공유 메모리 세그먼트 ID (이 스포츠 토토 베트맨이 서버 종료 후에 없음)

클러스터의 각 데이터베이스에 대해 내에 서브 디렉토리가 있습니다.pgdata/base, 데이터베이스의 OID의 이름을 따서 명명되었습니다pg_database. 이 하위 디렉토리는 데이터베이스 스포츠 토토 베트맨의 기본 위치입니다.

다음 섹션에서 내장의 동작을 설명합니다 PostgreSQL : 문서 : 12 : 60 장. 테이블 토토 캔 방법 인터페이스 정의및 내장색인 액세스 방법. 확장 가능한 특성으로 인해PostgreSQL, 다른 액세스 방법이 다르게 작동 할 수 있습니다.

각 테이블과 색인은 별도의 스포츠 토토 베트맨에 저장됩니다. 평범한 관계의 경우이 스포츠 토토 베트맨은 표 또는 색인의 이름을 따서 명명되었습니다filenodePG_CLASS.relfilenode. 그러나 임시 관계의 경우 스포츠 토토 베트맨 이름은 양식입니다tBBB_FFF, 여기BBB스포츠 토토 베트맨을 만든 백엔드의 백엔드 ID입니다.FFF는 Filenode 번호입니다. 두 경우 모두, 기본 스포츠 토토 베트맨 (A/K/A 기본 포크) 외에도 각 테이블과 인덱스는가 있습니다.여유 공간지도(참조스포츠 토토 : 문서 : 12 : 69.3. 여유 공간지도)는 관계에서 이용할 수있는 여유 공간에 대한 정보를 저장합니다. 여유 공간 맵은 Filenode 번호와 접미사에 이름이 지정된 스포츠 토토 베트맨에 저장됩니다._FSM. 테이블에도가시성 맵, 접미사와 함께 포크에 저장_vm, 죽은 튜플이없는 것으로 알려진 페이지를 추적합니다. 가시성 맵은에 더 설명되어 있습니다.섹션 69.4. 미등록 테이블과 인덱스에는 초기화 포크로 알려진 세 번째 포크가 있으며, 접미사와 함께 포크에 저장됩니다_init(참조토토 캔 : 문서 : 12 : 69.5. 초기화 포크).

주의

테이블의 필레 노드가 종종 OID와 일치하지만 이것은입니다.아님반드시 사건; 일부 작업,Truncate, Reindex, 클러스터그리고 일부 형태의Alter Table, OID를 보존하는 동안 Filenode를 변경할 수 있습니다. Filenode와 Table OID가 동일하다고 가정하지 마십시오.PG_CLASS자체,PG_CLASS.relfilenode0이 포함되어 있습니다. 이 카탈로그의 실제 필레 노드 수는 하위 수준 데이터 구조에 저장되며를 사용하여 얻을 수 있습니다.PG_RELATION_FILENODE ()기능.

테이블 또는 인덱스가 1GB를 초과하면 기가 바이트 크기로 나뉩니다세그먼트. 첫 번째 세그먼트의 파일 이름은 Filenode와 동일합니다.-with-segsize빌딩시PostgreSQL.) 원칙적으로, 여유 공간 맵과 가시성 맵 포크는 여러 세그먼트가 필요할 수 있지만 실제로는 일어나지 않을 것입니다.

잠재적으로 큰 항목이있는 열이있는 테이블에는 관련이 있습니다토스트테이블은 테이블 행에 너무 큰 필드 값을 저장하는 데 사용됩니다.PG_CLASS.reltoastrelid테이블에서 그 링크토스트테이블. 보다섹션 69.2자세한 내용은

테이블 및 인덱스의 내용은 더 자세히 설명합니다섹션 69.6.

테이블 스페이스는 시나리오를 더 복잡하게 만듭니다. 각 사용자 정의 테이블 스페이스에는 내부에 상징적 링크가 있습니다.pgdata/PG_TBLSPCDirectory. 물리 테이블 스페이스 디렉토리를 가리키는 디렉토리 (즉, 테이블 스페이스에 지정된 위치테이블 스페이스 만들기명령). 이 상징적 링크는 테이블 스페이스의 OID의 이름을 따서 명명되었습니다.PostgreSQL예 : 서버 버전PG_9.0_201008051. (이 하위 디렉토리를 사용하는 이유는 데이터베이스의 연속적인 버전이 동일하게 사용할 수 있기 때문입니다.테이블 스페이스 만들기충돌이없는 위치 값.) 버전 별 하위 디렉토리에는 데이터베이스의 OID의 이름을 따서 명명 된 테이블 스페이스에 요소가있는 각 데이터베이스에 대한 하위 디렉토리가 있습니다. 테이블 및 인덱스는 Filenode 명명 체계를 사용하여 해당 디렉토리에 저장됩니다.pg_default테이블 스페이스는 액세스하지 못합니다PG_TBLSPC이지만에 해당합니다.pgdata/base. 마찬가지로pg_global테이블 스페이스는 액세스하지 못합니다PG_TBLSPC이지만에 해당합니다.pgdata/global.

thePG_RELATION_FILEPATH ()함수는 전체 경로를 보여줍니다 (pgdata21731_21984_FSM, _vm또는_init관계와 관련된 모든 스포츠 토토 베트맨을 찾으려면

임시 스포츠 토토 베트맨 (메모리에 맞는 것보다 더 많은 데이터를 정렬하는 것과 같은 작업의 경우pgdata/base/pgsql_tmp또는 a 내PGSQL_TMP테이블 스페이스 디렉토리의 서브 디렉토리 인 경우pg_default가 그들에게 지정되어 있습니다. 임시 스포츠 토토 베트맨의 이름에는 양식이 있습니다.PGSQL_TMPPPP.NNN, 여기PPP소유의 백엔드의 PID 및NNN해당 백엔드의 다른 임시 스포츠 토토 베트맨을 구별합니다.