F.35. PG_스포츠 토토INSPECT-저수준 스포츠 토토 검사#

thepg_스포츠 토토inspect모듈은 실행중인 쓰기 로그의 내용을 검사 할 수있는 SQL 기능을 제공합니다PostgreSQL데이터베이스 클러스터는 낮은 수준의 데이터베이스 클러스터로 디버깅, 분석,보고 또는 교육 목적으로 유용합니다. 와 비슷합니다.pg_스포츠 토토dump이지만 별도의 유틸리티가 아닌 SQL을 통해 액세스 할 수 있습니다.

이 모듈의 모든 기능은 서버의 현재 타임 라인 ID를 사용하여 WAL 정보를 제공합니다.

note

thepg_스포츠 토토inspect함수는 종종 알려진 스포츠 토토의 관심 기록이있는 위치를 지정하는 LSN 인수를 사용하여 호출됩니다시작. 그러나와 같은 일부 기능PG_LOGICAL_EMIT_MESSAGE, LSN을 반환이후방금 삽입 된 레코드.

모든pg_스포츠 토토inspect특정 LSN 범위에 속하는 레코드에 대한 정보를 보여주는 기능은 수락에 대해 허용됩니다end_lsn서버의 현재 LSN 이후의 인수. 사용 사용end_lsn 미래에서오류가 발생하지 않습니다.

값을 제공하는 것이 편리 할 수 ​​있습니다ffffffff/ffffffff(최대 유효PG_LSNvalue) asend_lsn인수. 이것은 제공하는 것과 같습니다end_lsn서버의 현재 LSN과 일치하는 인수

기본적으로 이러한 함수의 사용은 슈퍼업자 및 멤버로 제한됩니다PG_READ_SERVER_FILES역할. 슈퍼업자가 접근 할 수있는 다른 사람에게 액세스 권한을 부여 할 수 있습니다.grant.

F.35.1. 일반 기능#

pg_get_스포츠 토토_record_info (in_lsn pg_lsn) 레코드를 반환 #

|in_lsn인수. 예를 들어:

postgres =# select * from pg_get_스포츠 토토_record_info ( '0/e419e28');

ifin_lsnWAL 레코드가 시작되지 않으며 다음 유효한 WAL 레코드에 대한 정보가 대신 표시됩니다. 다음에 유효한 WAL 레코드가 없으면 함수는 오류가 발생합니다.

pg_get_wal_records_info (start_lsn pg_lsn, end_lsn pg_lsn) 레코드를 반환 #

|start_lsnandend_lsn. 스포츠 토토 레코드 당 1 행을 반환합니다.

postgres =# select * from pg_get_스포츠 토토_records_info ( '0/1e913618', '0/1e913740') 한계 1;

함수가 오류가 발생하면start_lsn사용할 수 없습니다.

pg_get_스포츠 토토_block_info (start_lsn pg_lsn, end_lsn pg_lsn, show_data boolean default true) setof record를 반환합니다. #

각 블록 참조에 대한 정보 가져 오기start_lsnandend_lsn하나 이상의 블록 참조가 포함되어 있습니다. 스포츠 토토 레코드 당 블록 참조 당 1 행을 반환합니다.

postgres =# select * from pg_get_스포츠 토토_block_info ( '0/1230278', '0/12302b8');

이 예제는 하나의 블록 참조 만 포함하지만 많은 스포츠 토토 레코드에는 여러 블록 참조를 포함하는 스포츠 토토 레코드가 포함됩니다. 행 출력pg_get_스포츠 토토_block_info고유 한 조합이 보장됩니다start_lsnandblock_id값.

여기에 표시된 많은 정보는 출력과 일치합니다.PG_GET_스포츠 토토_RECORDS_INFO같은 주장이 주어지면 표시됩니다. 하지만,pg_get_스포츠 토토_block_info블록 참조 당 하나의 행을 출력하여 각 스포츠 토토 레코드의 정보를 확장 형식으로 제공하므로 특정 세부 사항은 전체 레코드 수준이 아닌 블록 참조 레벨에서 추적됩니다. 이 구조는 시간이 지남에 따라 개별 블록이 어떻게 변하는 지 추적하는 쿼리에 유용합니다.커밋스포츠 토토 Records)는 줄이 없어서pg_get_스포츠 토토_block_info실제로 돌아올 수 있음더 적은PG_GET_스포츠 토토_RECORDS_INFO.

thereltablespace, Reldatabaserelfilenode매개 변수 참조PG_TABLESPACE.OID, pg_database.OIDpg_class.relfilenode각각. 그만큼RelforkNumber필드는 블록 참조 관계 내의 포크 번호입니다. 보다Common/RelPath.h자세한 내용.

thePG_FILENODE_RELATION함수 (참조표 9.101) 원래 실행 중에 수정 된 관계를 결정하는 데 도움이 될 수 있습니다.

클라이언트가 블록 데이터를 구체화하는 오버 헤드를 피할 수 있습니다. 이로 인해 기능 실행이 훨씬 빨라질 수 있습니다.show_data로 설정되었습니다false, block_dataandblock_fpi_data값은 생략되었습니다 (즉,block_dataandblock_fpi_data out인수는NULL모든 행이 반환 된 경우). 분명히,이 최적화는 블록 데이터가 실제로 필요하지 않은 쿼리로만 가능합니다.

함수가 오류가 발생하면start_lsn사용할 수 없습니다.

pg_get_wal_stats (start_lsn pg_lsn, end_lsn pg_lsn, per_record boolean default false) setof record를 반환합니다. #

start_lsnandend_lsn. 기본적으로 당 1 행을 반환합니다.Resource_Manager타입. 언제per_record로 설정되었습니다true, 1 행을 반환합니다record_type. 예를 들어:

postgres =# select * from pg_get_스포츠 토토_stats ( '0/1e847d00', '0/1e84f500')

함수가 오류가 발생하면start_lsn사용할 수 없습니다.

F.35.2. 작가#

Bharath Rupireddy

정정 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다.이 양식문서 문제를보고하려면