그pg_윈 토토inspect모듈은 실행 중인 작업의 미리 쓰기 로그 내용을 검사할 수 있는 SQL 함수를 제공합니다.포스트그레SQL디버깅, 분석, 보고 또는 교육 목적에 유용한 낮은 수준의 데이터베이스 클러스터입니다. 와 비슷합니다.pg_윈 토토dump, 그러나 별도의 유틸리티가 아닌 SQL을 통해 액세스할 수 있습니다.
이 모듈의 모든 기능은 현재 서버의 타임라인 ID를 사용하여 WAL 정보를 제공합니다.
이 모듈의 모든 기능은 주어진 날짜 또는 그 이후에 있는 첫 번째 유효한 윈 토토 레코드를 찾으려고 시도합니다.in_lsn또는start_lsn해당 레코드가 없으면 오류가 발생합니다. 마찬가지로,end_lsn사용 가능해야 하며, 레코드 중간에 있을 경우 전체 레코드가 사용 가능해야 합니다.
다음과 같은 일부 기능pg_logical_emit_message, LSN을 반환이후기록이 방금 삽입되었습니다. 따라서 해당 LSN을 다음과 같이 전달하면in_lsn또는start_lsn이 함수 중 하나에 대해 다음을 반환합니다.다음기록.
기본적으로 이 기능의 사용은 수퍼유저와 회원으로 제한됩니다.pg_read_server_files역할. 다음을 사용하여 슈퍼유저가 다른 사람에게 액세스 권한을 부여할 수 있습니다.부여.
pg_get_wal_record_info(in_lsn pg_lsn)가 레코드를 반환합니다.주어진 LSN의 WAL 레코드 정보를 가져옵니다. 주어진 LSN이 WAL 레코드의 시작 부분에 있지 않으면 다음으로 사용 가능한 유효한 WAL 레코드의 정보를 제공합니다. 또는 해당 레코드가 없으면 오류가 발생합니다. 예를 들어 함수의 사용법은 다음과 같습니다.
postgres=# SELECT * FROM pg_get_wal_record_info('0/1E826E98');
-[ 기록 1 ]----+-----------------------------------------
시작_lsn | 0/1E826F20
end_lsn | 0/1E826F60
prev_lsn | 0/1E826C80
시드 | 0
자원 관리자 | 힙2
레코드 유형 | 치다
레코드 길이 | 58
메인_데이터_길이 | 8
fpi_길이 | 0
설명 | snapshotContributeHorizon 33748 nredirected 0 ndead 2
블록 참조 | blkref #0: rel 1663/5/60221 포크 메인 blk 2
pg_get_wal_records_info(start_lsn pg_lsn, end_lsn pg_lsn)는 레코드 세트를 반환합니다.다음 사이에 유효한 모든 WAL 레코드 정보를 가져옵니다.start_lsn그리고end_lsn. 윈 토토 레코드당 하나의 행을 반환합니다. 만약에start_lsn또는end_lsn아직 사용할 수 없으면 함수에서 오류가 발생합니다. 예를 들어:
postgres=# SELECT * FROM pg_get_wal_records_info('0/1E913618', '0/1E913740') LIMIT 1;
-[ 기록 1 ]----+--------------------------------------------------
시작_lsn | 0/1E913618
end_lsn | 0/1E913650
prev_lsn | 0/1E9135A0
시드 | 0
자원 관리자 | 대기
레코드 유형 | RUNNING_XACTS
레코드 길이 | 50
메인_데이터_길이 | 24
fpi_길이 | 0
설명 | 다음Xid 33775 최신완료Xid 33774 가장 오래된RunningXid 33775
블록 참조 |
pg_get_wal_records_info_till_end_of_wal(start_lsn pg_lsn)이 레코드 세트를 반환합니다.이 기능은 다음과 동일합니다pg_get_윈 토토_records_info(), 단, 유효한 모든 WAL 레코드에 대한 정보를 다음에서 가져옵니다.start_lsn윈 토토이 끝날 때까지.
pg_get_wal_stats(start_lsn pg_lsn, end_lsn pg_lsn, per_record boolean DEFAULT false)는 레코드 세트를 반환합니다.다음 사이에 유효한 모든 WAL 레코드의 통계를 가져옵니다.start_lsn그리고end_lsn. 기본적으로 각 행당 하나의 행을 반환합니다.resource_manager유형. 언제레코드당다음으로 설정됨사실, 각각 하나의 행을 반환합니다.record_type. 만약에start_lsn또는end_lsn아직 사용할 수 없으면 함수에서 오류가 발생합니다. 예를 들어:
postgres=# SELECT * FROM pg_get_wal_stats('0/1E847D00', '0/1E84F500')
개수 0 AND
"resource_manager/record_type" = '거래'
제한 1;
-[ 기록 1 ]---+-------------------
자원 관리자/기록_유형 | 거래
카운트 | 2
개수_백분율 | 8
레코드 크기 | 875
기록_크기_백분율 | 41.23468426013195
fpi_크기 | 0
fpi_size_percentage | 0
결합_크기 | 875
결합_크기_백분율 | 2.8634072910530795
pg_get_wal_stats_till_end_of_wal(start_lsn pg_lsn, per_record boolean DEFAULT false)는 레코드 세트를 반환합니다.이 기능은 다음과 동일합니다pg_get_윈 토토_stats(), 단, 다음에서 유효한 모든 WAL 레코드의 통계를 가져오는 경우는 제외)start_lsn윈 토토이 끝날 때까지.
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.