개발 버전 :Devel
지원되지 않는 버전 :12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1
이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다현재버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

제 68 장 시스템 토토 결과 선언 및 초기 컨텐츠

PostgreSQL테이블 및 기능과 같은 데이터베이스 개체의 존재 및 속성을 추적하기 위해 다양한 시스템 토토 결과를 사용합니다. 물리적으로 시스템 토토 결과와 일반 사용자 테이블 사이에는 차이가 없지만 백엔드 C 코드는 각 토토 결과의 구조와 속성을 알고 있으며 낮은 수준으로 직접 조작 할 수 있습니다.

토토 결과의 구조는의 특수 포맷 된 C 헤더 파일로 선언됩니다.SRC/포함/토토 결과/소스 트리의 디렉토리. 각 토토 결과에는 토토 결과의 이름을 따서 명명 된 헤더 파일이 있습니다 (예 :pg_class.hforpg_class)는 토토 결과가 가지고있는 열 세트와 Oid와 같은 다른 기본 속성을 정의하는 것입니다.

많은 토토 결과에는 초기 데이터가 있습니다.부트 스트랩위상initdb, 시스템을 SQL 명령을 실행할 수있는 지점까지 시스템을 가져옵니다. (예를 들어,pg_class.h서로에 대한 항목과 서로 시스템 토토 결과 및 색인에 대한 항목을 포함해야합니다.)이 초기 데이터는에 저장된 데이터 파일에서 편집 가능한 형식으로 유지됩니다.SRC/포함/토토 결과/디렉토리. 예를 들어,PG_PROC에 삽입 해야하는 모든 초기 행을 설명합니다.PG_PROC토토 결과

토토 결과 파일을 생성 하고이 초기 데이터를 그들에게로드하려면 부트 스트랩 모드에서 실행되는 백엔드는 a를 읽습니다.bki(백엔드 인터페이스) 명령 및 초기 데이터가 포함 된 파일. 그만큼postgres.bki이 모드에서 사용 된 파일은 앞서 언급 한 헤더 및 데이터 파일에서 준비되어 있습니다.PostgreSQL배포, perl 스크립트에 의한genbki.pl. 특정에만 해당되지만PostgreSQL릴리스,postgres.bki| 플랫폼 독립적이며에 설치됩니다.공유설치 트리의 하위 디렉토리.

genbki.pl예를 들어 각 토토 결과에 대한 파생 헤더 파일도 생성pg_class_d.hpg_class토토 결과. 이 파일은 자동으로 생성 된 매크로 정의가 포함되어 있으며 특정 토토 결과를 읽는 클라이언트 C 코드에 유용 할 수있는 다른 매크로, 열거 선언 등이 포함될 수 있습니다..

대부분의 PostgreSQL 개발자는 직접 걱정할 필요가 없습니다bki파일이지만 백엔드의 거의 사소한 기능 추가는 토토 결과 헤더 파일 및/또는 초기 데이터 파일을 수정해야합니다. 이 장의 나머지 부분은 그것에 대한 정보를 제공하며 완전성을 위해를 설명합니다.bki파일 형식.