이 섹션은 수준의 스토리지 형식을 설명합니다.
데이터베이스 클러스터에 필요한 모든 데이터는 내에 저장됩니다.pgdata(환경 변수의 이름 이후pgdatais/var/lib/pgsql/data. 여러 클러스터, 관리
thepgdata디렉토리에는 여러 가지가 포함되어 있습니다표 55-1.postgresql.conf, pg_hba.conf및pg_ident.conf전통적으로 저장되어pgdata(비록PostgreSQL8.0 이상이 가능합니다
표 55-1. 의 내용pgdata
항목 | 설명 |
---|---|
pg_version | 주요 버전 번호가 포함 된 롤 토토PostgreSQL |
Base | 디테이베이션 당사자를 포함하는 서브 디렉토리 |
글로벌 | 클러스터 전체 테이블을 포함하는 서브 디렉토리PG_DATABASE |
PG_CLOG | 트랜잭션 커밋 상태를 포함하는 하위 디렉토리 |
pg_multixact | multitransaction 상태 데이터를 포함하는 서브 디렉토리 |
pg_notify | 하위 디렉토리가 포함 된 상태를 포함하는 서브 디렉토리 |
PG_SERIAL | 커밋에 대한 정보가 포함 된 하위 디렉토리 |
PG_STAT_TMP | 임시 롤 토토을 포함하는 하위 디렉토리 |
PG_SUBTRANS | 서브 트랜잭션 상태를 포함하는 서브 디렉토리 |
PG_TBLSPC | 상징적 링크를 포함하는 하위 디렉토리 |
PG_TWOPHASE | 준비를위한 상태 롤 토토을 포함하는 하위 디렉토리 |
PG_XLOG | WAL을 포함하는 서브 디렉토리 (앞서 로그 쓰기) |
postmaster.opts | 명령 줄 옵션을 서버를 녹화하는 롤 토토 |
postmaster.pid | 현재 Postmaster 프로세스를 기록하는 잠금 파일*또는 그렇지 않은 경우 비어 있습니다 |
클러스터의 각 데이터베이스마다 하위 디렉토리가 있습니다.pgdata/base, 데이터베이스의 OID의 이름을 따서 명명 된PG_DATABASE. 이 하위 디렉토리는 다음과 같습니다
각 테이블과 색인은 별도의 롤 토토에 저장됩니다. 을 위한filenode숫자pg_class.relfilenode. 그러나 일시적인 관계의 경우tBBB_FFF, 여기서BBB는 백엔드의 백엔드 ID입니다FFFis여유 공간지도(참조섹션 55.314904_15065_FSM. 테이블에도가시성 맵, 접미사와 함께 포크에 저장_vm, 어떤 페이지가 알려진지 추적합니다토토 핫 : 문서 : 9.1 : 가시성 맵. 무제한 테이블 및_init(참조배트맨 토토 : 문서 : 9.1 : 초기화 포크).
주의 |
테이블의 필레 노드는 종종 그것과 일치합니다not반드시 사건;Truncate,
Reindex, 클러스터그리고 일부 형태의Alter Table, Filenode를 변경할 수 있습니다pg_class자체,pg_class.relfilenode0이 포함됩니다. 실제 |
테이블 또는 인덱스가 1GB를 초과하면세그먼트. 첫 번째-with-segsize빌딩시PostgreSQL.) 원칙적으로 여유 공간지도
잠재적으로 큰 항목이있는 열이있는 테이블토스트테이블입니다pg_class.reltoastrelid테이블에서 그 링크토스트테이블. 보다섹션 55.2더 많은 것
표와 인덱스의 내용은 더 자세히 설명합니다.PostgreSQL : 문서 : 9.1 : 데이터베이스 무지개 토토 레이아웃.
테이블 스페이스는 시나리오를 더 복잡하게 만듭니다. 각pgdata/PG_TBLSPC디렉토리테이블 스페이스 만들기명령). 이 상징적 링크입니다PostgreSQL서버 버전PG_9.0_201008051. (이유생성충돌이없는 위치 값.) 내에서pg_default테이블 스페이스는 액세스하지 않습니다PG_TBLSPC하지만에 해당합니다.pgdata/base.pg_global테이블 스페이스입니다PG_TBLSPC, 그러나pgdata/global.
thePG_RELATION_FILEPATH ()
함수는 전체 경로를 보여줍니다 (pgdata) 어떤 관계의. 그것은 종종 a로 유용합니다_FSM, _vm또는_init모두를 찾으려면
임시 롤 토토 (pgdata/base/pgsql_tmp,PGSQL_TMPapg_default그들에게 지정되어 있습니다. a의 이름PGSQL_TMPPPP.NNN,PPP의 PID입니다NNN해당 백엔드의 다른 임시 롤 토토을 구별합니다.