초기화 매개 변수
를 사용하여 새 데이터베이스 클러스터를 생성합니다 initdb
프로그램. AN initdb
스크립트는 클러스터를 정의하는 데이터 파일, 시스템 테이블 및 템플릿 데이터베이스(template0 및 Template1)를 생성합니다.
템플릿 데이터베이스는 재고 데이터베이스를 나타냅니다. 시스템 테이블, 표준 보기, 함수 및 데이터 형식에 대한 정의가 포함되어 있습니다. pgdata
에 대한 인수 역할을 합니다 initdb
데이터베이스 클러스터의 위치를 지정하는 스크립트입니다.
PostgreSQL의 모든 데이터베이스 개체는 해당 OID에 의해 내부적으로 관리됩니다. 테이블 및 인덱스도 개별 OID에 의해 관리됩니다. 데이터베이스 개체와 해당 OID 간의 관계는 개체 유형에 따라 적절한 시스템 카탈로그 테이블에 저장됩니다. 예를 들어 데이터베이스 및 힙 테이블의 OID는 에 저장됩니다 pg_database
및 ``pg_class. PostgreSQL 클라이언트에서 쿼리를 실행하여 OID를 확인할 수 있습니다.
모든 데이터베이스에는 1GB로 제한된 고유한 개별 테이블 및 인덱스 파일이 있습니다. 각 테이블에는 각각 접미사가 붙은 두 개의 관련 파일이 있습니다 _fsm
및 _vm
. 이를 여유 공간 지도와 가시성 지도라고 합니다. 이러한 파일은 사용 가능한 공간 용량에 대한 정보를 저장하며 테이블 파일의 각 페이지를 볼 수 있습니다. 인덱스에는 개별 가용 공간 맵만 있으며 가시성 맵은 없습니다.
를 클릭합니다 pg_xlog/pg_wal
디렉토리에는 미리 쓰기 로그가 포함됩니다. 미리 쓰기 로그는 데이터베이스의 안정성과 성능을 개선하는 데 사용됩니다. 테이블의 행을 업데이트할 때마다 PostgreSQL은 먼저 미리 쓰기 로그에 변경 내용을 쓰고 나중에 실제 데이터 페이지에 대한 수정 내용을 디스크에 씁니다. 를 클릭합니다 pg_xlog
디렉터리에는 일반적으로 여러 파일이 포함되어 있지만 initdb는 첫 번째 파일만 만듭니다. 필요에 따라 추가 파일이 추가됩니다. 각 xlog 파일의 길이는 16MB입니다.