이 섹션에서는 토토 사이트 순위 및 디렉터리 수준의 저장 형식을 설명합니다.
전통적으로 데이터베이스 클러스터에서 사용하는 구성 및 데이터 파일은 일반적으로 다음과 같이 불리는 클러스터의 데이터 디렉토리 내에 함께 저장됩니다.PGDATA(정의하는 데 사용할 수 있는 환경 변수 이름 뒤). 의 공통 위치PGDATAis/var/lib/pgsql/data. 서로 다른 서버 인스턴스에서 관리되는 여러 클러스터가 동일한 시스템에 존재할 수 있습니다.
그PGDATA디렉터리는 다음과 같이 여러 하위 디렉터리와 제어 파일을 포함합니다.표 69.1. 이러한 필수 항목 외에도 클러스터 구성 토토 사이트 순위postgresql.conf, pg_hba.conf및pg_ident.conf전통적으로 다음 위치에 저장됩니다.PGDATA, 다른 곳에 배치하는 것도 가능합니다.
표 69.1. 의 내용PGDATA
| 아이템 | 설명 |
|---|---|
PG_VERSION |
다음의 주요 버전 번호가 포함된 파일PostgreSQL |
베이스 |
데이터베이스별 하위 디렉터리를 포함하는 하위 디렉터리 |
current_logfiles |
현재 로깅 수집기에 의해 기록된 로그 파일을 기록하는 파일 |
글로벌 |
다음과 같은 클러스터 전체 테이블을 포함하는 하위 디렉토리pg_database |
pg_commit_ts |
트랜잭션 커밋 타임스탬프 데이터가 포함된 하위 디렉터리 |
pg_dynshmem |
동적 공유 메모리 하위 시스템에서 사용하는 토토 사이트 순위이 포함된 하위 디렉터리 |
pg_logical |
논리적 디코딩을 위한 상태 데이터가 포함된 하위 디렉터리 |
pg_multixact |
다중 트랜잭션 상태 데이터가 포함된 하위 디렉토리(공유 행 잠금에 사용됨) |
pg_notify |
LISTEN/NOTIFY 상태 데이터를 포함하는 하위 디렉토리 |
pg_replslot |
복제 슬롯 데이터가 포함된 하위 디렉터리 |
pg_serial |
커밋된 직렬화 가능 트랜잭션에 대한 정보가 포함된 하위 디렉터리 |
pg_snapshots |
내보낸 스냅샷이 포함된 하위 디렉터리 |
pg_stat |
통계 하위 시스템의 영구 토토 사이트 순위이 포함된 하위 디렉터리 |
pg_stat_tmp |
통계 하위 시스템을 위한 임시 토토 사이트 순위이 포함된 하위 디렉터리 |
pg_subtrans |
하위 거래 상태 데이터가 포함된 하위 디렉터리 |
pg_tblspc |
테이블스페이스에 대한 심볼릭 링크를 포함하는 하위 디렉토리 |
pg_twophase |
준비된 트랜잭션에 대한 상태 토토 사이트 순위이 포함된 하위 디렉터리 |
pg_wal |
WAL(Write Ahead Log) 토토 사이트 순위이 포함된 하위 디렉토리 |
pg_xact |
트랜잭션 커밋 상태 데이터가 포함된 하위 디렉터리 |
postgresql.auto.conf |
다음에 의해 설정된 구성 매개변수를 저장하는 데 사용되는 파일시스템 변경 |
postmaster.opts |
서버가 마지막으로 시작된 명령줄 옵션을 기록하는 토토 사이트 순위 |
postmaster.pid |
현재 포스트마스터 프로세스 ID(PID), 클러스터 데이터 디렉토리 경로, 포스트마스터 시작 타임스탬프, 포트 번호, Unix 도메인 소켓 디렉토리 경로(비어 있을 수 있음), 첫 번째 유효한 Listen_address(IP 주소 또는를 기록하는 잠금 파일*, 또는 TCP에서 수신하지 않는 경우 비어 있음) 및 공유 메모리 세그먼트 ID(이 토토 사이트 순위은 서버 종료 후에는 존재하지 않음) |
클러스터의 각 데이터베이스에는 하위 디렉토리가 있습니다.PGDATA/베이스, 데이터베이스의 OID를 따서 명명됨pg_database. 이 하위 디렉터리는 데이터베이스 파일의 기본 위치입니다. 특히 시스템 카탈로그가 여기에 저장됩니다.
다음 섹션에서는 내장 기능의 동작을 설명합니다.힙 PostgreSQL : 문서 : 13 : 60 장. 테이블 사설 토토 방법 인터페이스 정의및 내장메이저 토토 사이트 : 문서 : 13 : 61 장. 색인 액세스 방법 인터페이스 정의. 확장 가능한 특성으로 인해포스트그레SQL, 다른 액세스 방법은 다르게 작동할 수 있습니다.
각 테이블과 인덱스는 별도의 토토 사이트 순위에 저장됩니다. 일반적인 관계의 경우 이러한 토토 사이트 순위은 테이블이나 인덱스의 이름을 따서 명명됩니다.토토 사이트 순위 노드번호, 다음에서 찾을 수 있음pg_class.relfilenode. 그러나 임시 관계의 경우 파일 이름은 다음과 같은 형식입니다.t, 여기서BBB_FFFBBB은 토토 사이트 순위을 생성한 백엔드의 백엔드 ID이며FFF은 토토 사이트 순위 노드 번호입니다. 두 경우 모두 기본 파일(a/k/a 기본 포크) 외에도 각 테이블과 인덱스에는여유 공간 지도(참조토토 커뮤니티 : 문서 : 13 : 69.3. 여유 공간지도) - 관계에서 사용 가능한 여유 공간에 대한 정보를 저장합니다. 여유 공간 맵은 토토 사이트 순위 노드 번호에 접미사를 더한 이름의 파일에 저장됩니다._fsm. 테이블에는 다음도 있습니다.가시성 지도, 접미사가 붙은 포크에 저장됨_vm, 데드 튜플이 없는 것으로 알려진 페이지를 추적합니다. 가시성 지도는 다음에 자세히 설명되어 있습니다.스포츠 토토 베트맨 : 문서 : 13 : 69.4. 가시성 맵. 기록되지 않은 테이블과 인덱스에는 접미사가 붙은 포크에 저장되는 초기화 포크라고 하는 세 번째 포크가 있습니다._init(참조롤 토토 : 문서 : 13 : 69.5. 초기화 포크).
테이블의 토토 사이트 순위 노드가 OID와 일치하는 경우가 많지만 이는아님반드시 해당 경우입니다. 다음과 같은 일부 작업잘라내기, REINDEX, 클러스터및 일부 형태의테이블 변경, OID를 유지하면서 토토 사이트 순위 노드를 변경할 수 있습니다. 토토 사이트 순위 노드와 테이블 OID가 동일하다고 가정하지 마십시오. 또한 다음을 포함한 특정 시스템 카탈로그의 경우pg_class그 자체,pg_class.relfilenode0이 포함되어 있습니다. 이러한 카탈로그의 실제 토토 사이트 순위 노드 번호는 하위 수준 데이터 구조에 저장되며 다음을 사용하여 얻을 수 있습니다.pg_relation_filenode()함수.
테이블이나 인덱스가 1GB를 초과하면 기가바이트 크기로 분할됩니다.세그먼트. 첫 번째 세그먼트의 파일 이름은 토토 사이트 순위 노드와 동일합니다. 후속 세그먼트의 이름은 filenode.1, filenode.2 등으로 지정됩니다. 이 배열은 파일 크기 제한이 있는 플랫폼에서의 문제를 방지합니다. (실제로 1GB는 기본 세그먼트 크기입니다. 구성 옵션을 사용하여 세그먼트 크기를 조정할 수 있습니다.--세그사이즈 포함빌드할 때PostgreSQL.) 원칙적으로 여유 공간 맵 및 가시성 맵 포크에도 여러 세그먼트가 필요할 수 있지만 실제로는 그럴 가능성이 없습니다.
잠재적으로 큰 항목이 있는 열이 있는 테이블에는 연결된 항목이 있습니다.토스트테이블은 너무 커서 테이블 행에 적절하게 보관할 수 없는 필드 값을 오프라인으로 저장하는 데 사용됩니다.pg_class.reltoastrelid테이블에서 해당 테이블로의 링크토스트테이블(있는 경우). 참조섹션 69.2더 많은 정보를 원하시면.
테이블과 색인의 내용은 다음에 자세히 설명되어 있습니다.PostgreSQL : 문서 : 13 : 69.6. 데이터베이스 윈 토토 레이아웃.
테이블스페이스는 시나리오를 더욱 복잡하게 만듭니다. 각 사용자 정의 테이블스페이스에는 내부에 심볼릭 링크가 있습니다.PGDATA/pg_tblspc디렉터리, 물리적 테이블스페이스 디렉터리(즉, 테이블스페이스의테이블스페이스 생성명령). 이 심볼릭 링크의 이름은 테이블스페이스의 OID를 따서 지정됩니다. 물리적 테이블스페이스 디렉토리 내부에는 다음 이름에 따라 이름이 지정된 하위 디렉토리가 있습니다.PostgreSQL서버 버전, 예:PG_9.0_201008051. (이 하위 디렉터리를 사용하는 이유는 이후 버전의 데이터베이스에서 동일한 디렉터리를 사용할 수 있도록 하기 위함입니다.테이블스페이스 생성충돌 없는 위치 값.) 버전별 하위 디렉터리 내에는 데이터베이스의 OID를 따라 이름이 지정된 테이블스페이스의 요소가 있는 각 데이터베이스에 대한 하위 디렉터리가 있습니다. 테이블과 인덱스는 토토 사이트 순위 노드 명명 체계를 사용하여 해당 디렉터리 내에 저장됩니다.pg_default테이블스페이스는 다음을 통해 액세스되지 않습니다.pg_tblspc, 그러나 다음과 일치함PGDATA/베이스. 마찬가지로,pg_global테이블스페이스는 다음을 통해 액세스되지 않습니다.pg_tblspc, 그러나 다음과 일치함PGDATA/글로벌.
그pg_relation_filepath()함수는 전체 경로를 표시합니다(관련PGDATA) 모든 관계. 이는 위의 많은 규칙을 기억하는 대신에 유용할 때가 많습니다. 하지만 이 함수는 관계의 주요 포크의 첫 번째 세그먼트 이름만 제공한다는 점을 명심하세요. 세그먼트 번호를 추가해야 할 수도 있습니다._fsm, _vm또는_init관계와 관련된 모든 토토 사이트 순위을 찾으려면.
임시 토토 사이트 순위(메모리에 들어갈 수 있는 것보다 많은 데이터를 정렬하는 등의 작업용)이 내부에 생성됩니다.PGDATA/base/pgsql_tmp, 또는 내pgsql_tmp테이블스페이스가 아닌 경우 테이블스페이스 디렉터리의 하위 디렉터리pg_default이(가) 지정되었습니다. 임시 파일 이름의 형식은 다음과 같습니다.pgsql_tmp, 여기서PPP.NNNPPP소유 백엔드의 PID이고NNN해당 백엔드의 다른 임시 토토 사이트 순위을 구별합니다.
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.