이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 9.28. 시스템 관리 스포츠 토토 사이트버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

9.26. 시스템 관리 스포츠 토토

이 섹션에 설명 된 스포츠 토토은 A를 제어하고 모니터링하는 데 사용됩니다postgresql설치.

9.26.1. 구성 설정 스포츠 토토

표 9-76쿼리 및 변경 런타임 구성 매개 변수에 사용 가능한 스포츠 토토을 표시합니다.

표 9-76. 구성 설정 스포츠 토토

이름 반환 유형 설명
current_setting (setting_name[,Missing_ok]) 텍스트 설정의 현재 값 가져 오기
set_config (setting_name, new_value, is_local) 텍스트 매개 변수 설정 및 새 값을 반환

함수current_setting설정의 현재 값을 생성setting_name. 그것은에 해당합니다.SQL명령show. 예 :

select current_setting ( 'datestyle');

 current_setting
------------------
 ISO, MDY
(1 행)

이름이없는 경우setting_name, current_setting오류가 발생하지 않는 한Missing_ok제공되었으며true.

set_config매개 변수 설정setting_nametonew_value. 만약에is_localistrue, 새 값은 현재 거래에만 적용됩니다. 새 값이 현재 세션에 신청하려면 사용거짓대신. 함수는 SQL 명령에 해당합니다SET. 예 :

set_config ( 'log_statement_stats', 'off', false);

 set_config
------------
 끄다
(1 행)

9.26.2. 서버 신호 스포츠 토토

표 9-77다른 서버 프로세스로 제어 신호를 전송합니다. 이러한 스포츠 토토의 사용은 기본적으로 슈퍼 사용자로 제한되지만와 함께 다른 사람에게 액세스가 부여 될 수 있습니다.grant, 예외가있는 것으로 나타났습니다.

표 9-77. 서버 신호 스포츠 토토

이름 반환 유형 설명
pg_cancel_backend (PID int) 부울 백엔드의 현재 쿼리를 취소합니다. 호출 역할이 백엔드가 취소되거나 호출 역할이 부여 된 역할의 구성원 인 경우에도 허용됩니다pg_signal_backend, 그러나 슈퍼 사용자 만 슈퍼업자 백엔드를 취소 할 수 있습니다.
pg_reload_conf () 부울 서버 프로세스가 구성 파일을 다시로드하도록 원인
pg_rotate_logfile () 부울 서버의 로그 파일 회전
pg_terminate_backend (PID int) 부울 백엔드 종료. 전화 역할이 백엔드가 종료되거나 호출 역할이 부여 된 역할의 구성원 인 경우에도 허용됩니다pg_signal_backend, 그러나 슈퍼 사용자 만 슈퍼업자 백엔드를 종료 할 수 있습니다.

이러한 각 함수가 반환True성공한 경우거짓그렇지 않으면.

pg_cancel_backendpg_terminate_backend신호 전송 (Sigint또는sigterm각각) 프로세스 ID로 식별 된 백엔드 프로세스. 활성 백엔드의 프로세스 ID는에서 찾을 수 있습니다.PID열의 열pg_stat_activity보기 또는 목록을 작성하여Postgres서버의 프로세스 (사용PSon unix 또는작업 관리자onWindows). 활성 백엔드의 역할은에서 찾을 수 있습니다.useName열의 열pg_stat_activity보기

pg_reload_confa 보내기Sighup서버에 신호를 보내 모든 서버 프로세스에서 구성 파일을 다시로드하게합니다.

pg_rotate_logfile로그 파일 관리자가 새 출력 파일로 즉시 전환하도록 신호를 보냅니다. 로그 파일 관리자 하위 프로세스가 없기 때문에 내장 로그 수집기가 실행 중일 때만 작동합니다.

9.26.3. 백업 제어 스포츠 토토

표 9-78온라인 백업을 지원합니다. 이러한 스포츠 토토은 복구 중에 실행할 수 없습니다 (비 독점적 인 제외PG_START_BACKUP, 비 독점적PG_STOP_BACKUP, pg_is_in_backup, pg_backup_start_timeandpg_xlog_location_diff).

표 9-78. 백업 제어 스포츠 토토

이름 반환 유형 설명
pg_create_restore_point (이름 텍스트) PG_LSN 복원을 수행하기위한 명명 된 지점을 만듭니다 (기본적으로 슈퍼 사용자로 제한되지만 다른 사용자는 실행을 승인 할 수 있습니다)
pg_current_xlog_flush_location () PG_LSN 현재 트랜잭션 가져 오기 로그 플러시 위치
pg_current_xlog_insert_location () PG_LSN 현재 트랜잭션 가져 오기 로그 삽입
pg_current_xlog_location () PG_LSN 현재 트랜잭션 로그 쓰기 위치
pg_start_backup (레이블 텍스트[, 빠른 부울[, 독점 부울]]) PG_LSN 온라인 백업 수행 준비 (기본적으로 슈퍼 사용자로 제한되지만 다른 사용자는 실행을 승인 할 수 있습니다)
pg_stop_backup () PG_LSN 독점 온라인 백업 수행 (기본적으로 슈퍼 서서로 제한되지만 다른 사용자가 함수 실행을 위해 Execute에 부여 될 수 있음)
pg_stop_backup (독점 부울) Setof Record 독점적이거나 비 독점적 인 온라인 백업 수행 (기본적으로 슈퍼 사용자로 제한되지만 다른 사용자가 함수를 실행하도록 실행할 수 있음)
pg_is_in_backup () bool 온라인 독점 백업이 아직 진행중인 경우 TRUE.
pg_backup_start_time () 시간대가있는 타임 스탬프 온라인 독점 백업의 시작 시간을 얻으십시오.
pg_switch_xlog () PG_LSN 새로운 트랜잭션 로그 파일로 전환을 강제로 전환합니다 (기본적으로 슈퍼 서서로 제한되지만 다른 사용자가 실행을 승인 할 수 있습니다)
pg_xlogfile_name (위치 PG_LSN) 20116_20122 트랜잭션 로그 위치를 파일 이름으로 변환
pg_xlogfile_name_offset (위치 PG_LSN) 텍스트, 정수 트랜잭션 로그 위치를 파일 이름 및 소수 바이트 오프셋으로 변환
pg_xlog_location_diff (위치 PG_LSN, 위치 PG_LSN) 숫자 두 트랜잭션 로그 위치의 차이를 계산

PG_START_BACKUP백업에 대한 임의의 사용자 정의 레이블을 허용합니다. (일반적으로 이것은 백업 덤프 파일이 저장되는 이름입니다.) 독점 모드에서 사용하면이 스포츠 토토은 백업 레이블 파일 (을 씁니다.backup_label) 및 링크가있는 경우PG_TBLSPC/디렉토리, 테이블 스페이스 맵 파일 (TableSpace_map) 데이터베이스 클러스터의 데이터 디렉토리로 체크 포인트를 수행 한 다음 백업의 시작 트랜잭션 로그 위치를 텍스트로 반환합니다. 사용자는이 결과 값을 무시할 수 있지만 유용한 경우에 제공됩니다. 비 독점 모드에서 사용될 때이 파일의 내용은 대신에 의해 반환됩니다.PG_STOP_BACKUP함수, 발신자가 백업에 기록해야합니다.

postgres =# 선택 pg_start_backup ( 'label_goes_here');
 pg_start_backup
------------------
 0/D4445B8
(1 행)

유형의 선택적 두 번째 매개 변수가 있습니다부울. 만약에True, 그것은 실행을 지정합니다PG_START_BACKUP가능한 빨리. 이것은 즉각적인 체크 포인트를 강요하여 I/O 작업이 급등하여 동시에 실행되는 쿼리를 느리게합니다.

독점 백업에서PG_STOP_BACKUP레이블 파일을 제거하고 존재하면TableSpace_map파일에 의해 생성 된 파일pg_start_backup. 비 독점적 인 백업에서의 내용은backup_labelandTableSpace_map함수 결과에서 반환되며 백업의 파일에 기록되어야합니다 (데이터 디렉토리가 아님). 기본에서 실행 된 경우PG_STOP_BACKUP아카이브가 활성화되면 WAL이 보관 될 때까지 기다릴 것입니다.

대기PG_STOP_BACKUP대기하지 않고 즉시 반환되므로 필요한 모든 WAL 세그먼트가 보관되었는지 확인하는 것이 중요합니다. 1 차에 대한 쓰기 활동이 낮 으면 실행하는 것이 유용 할 수 있습니다PG_SWITCH_XLOG세그먼트 스위치를 트리거하기 위해 기본의 경우

기본에서 실행되면이 스포츠 토토은 쓰기 로그 아카이브 영역에서 백업 기록 파일을 만듭니다. 히스토리 파일에는에 주어진 레이블이 포함되어 있습니다.PG_START_BACKUP, 백업을위한 시작 및 종료 트랜잭션 로그 위치 및 백업의 시작 및 종료 시간. 반환 값은 백업의 종료 트랜잭션 로그 위치입니다 (다시 무시할 수 있음). 결말 위치를 기록한 후, 현재 트랜잭션 로그 삽입 지점이 다음 트랜잭션 로그 파일로 자동으로 전환되므로 종료 트랜잭션 로그 파일을 즉시 보관하여 백업을 완료 할 수 있습니다..

PG_SWITCH_XLOG다음 트랜잭션 로그 파일로 이동하여 현재 파일을 보관할 수 있습니다 (연속 아카이브를 사용한다고 가정). 반환 값은 방금 완성 된 트랜잭션 로그 파일 내에서 종료 트랜잭션 로그 위치 + 1입니다. 마지막 트랜잭션 로그 스위치 이후 트랜잭션 로그 활동이없는 경우PG_SWITCH_XLOG현재 사용중인 트랜잭션 로그 파일의 시작 위치를 아무것도하지 않고 반환합니다.

pg_create_restore_point복구 대상으로 사용할 수있는 이름의 트랜잭션 로그 레코드를 작성하고 해당 트랜잭션 로그 위치를 반환합니다. 주어진 이름은와 함께 사용할 수 있습니다.복구 _target_name회복이 진행될 요점을 지정합니다. 동일한 이름의 여러 복원 지점을 생성하지 마십시오. 회복이 회복 대상과 일치하는 첫 번째 이름에서 회복이 중지되므로

pg_current_xlog_location현재 트랜잭션 로그 쓰기 위치를 위의 함수에서 사용하는 것과 동일한 형식으로 표시합니다. 비슷하게,pg_current_xlog_insert_location현재 트랜잭션 로그 삽입 지점을 표시하고pg_current_xlog_flush_location현재 트랜잭션 로그 플러시 지점을 표시합니다. 삽입 지점은입니다."논리"트랜잭션 로그의 종료 임의의 순간, 쓰기 위치는 서버의 내부 버퍼에서 실제로 작성된 내용의 끝이지만 플러시 위치는 내구성있는 스토리지에 기록 된 위치입니다. 쓰기 위치는 서버 외부에서 검사 할 수있는 것의 끝이며, 일반적으로 부분 완료 트랜잭션 로그 파일을 보관하는 데 관심이있는 경우 일반적으로 원하는 것입니다. 삽입 및 플러시 포인트는 주로 서버 디버깅 목적으로 제공됩니다. 이들은 모두 읽기 전용 작업이며 슈퍼 사용자 권한이 필요하지 않습니다.

사용할 수 있습니다PG_XLOGFILE_NAME_OFFSET상기 함수의 결과에서 해당 트랜잭션 로그 파일 이름과 바이트 오프셋을 추출합니다. 예를 들어:

postgres =# select * from pg_xlogfile_name_offset (pg_stop_backup ());
        file_name | file_offset 
---------------------------------------------
 00000001000000000000000D |     4039624
(1 행)

마찬가지로pg_xlogfile_name트랜잭션 로그 파일 이름 만 추출합니다. 주어진 트랜잭션 로그 위치가 트랜잭션 로그 파일 경계에있는 경우이 두 스포츠 토토 모두 이전 트랜잭션 로그 파일의 이름을 반환합니다. 이전 파일은 현재 보관 해야하는 마지막 파일이기 때문에 트랜잭션 로그 아카이빙 동작을 관리하기위한 원하는 동작입니다..

pg_xlog_location_diff두 트랜잭션 로그 위치 사이의 바이트 차이를 계산합니다. 와 함께 사용할 수 있습니다.pg_stat_replication또는 일부 함수에 표시표 9-78복제 지연을 얻으려면

이러한 스포츠 토토의 적절한 사용에 대한 자세한 내용은 참조토토 사이트 추천 PostgreSQL : 문서 : 9.6 : 연속 보관 및 시점 복구 (PITR).

9.26.4. 복구 제어 스포츠 토토

표 9-79대기 상태의 현재 상태에 대한 정보를 제공합니다. 이러한 스포츠 토토은 회복 중 및 정상 달리기에서 실행될 수 있습니다.

표 9-79. 복구 정보 스포츠 토토

이름 반환 유형 설명
PG_IS_IN_RECOVERY () bool 회복이 아직 진행중인 경우 진실.
pg_last_xlog_receive_location () PG_LSN 스트리밍 복제를 통해 수신 및 디스크에 동기화 된 마지막 트랜잭션 로그 위치 가져 오기. 스트리밍 복제가 진행되고 있지만 단조로 증가합니다. 복구가 완료되면 복구 중에 수신 된 마지막 WAL 레코드의 값에 따라 정적으로 유지됩니다. 스트리밍 복제가 비활성화되거나 아직 시작되지 않은 경우 함수는 NULL을 반환합니다.
pg_last_xlog_replay_location () PG_LSN 복구 중에 마지막 트랜잭션 로그 위치가 재생됩니다. 회복이 여전히 진행 중이면 단조로 증가합니다. 복구가 완료되면이 값은 해당 복구 중에 적용된 마지막 WAL 레코드의 값으로 정적으로 유지됩니다. 복구없이 서버가 정상적으로 시작되면 함수는 NULL을 반환합니다.
PG_LAST_XACT_REPLAY_TIMESTAMP () 시간대가있는 타임 스탬프 복구 중에 마지막 트랜잭션을 재생 한 시간 스탬프를 얻으십시오. 해당 거래에 대한 Commit 또는 Abort WAL 레코드가 기본에서 생성 된 시간입니다. 복구 중에 트랜잭션이 재생되지 않은 경우이 스포츠 토토은 NULL을 반환합니다. 그렇지 않으면 회복이 여전히 진행 중이면 단조로 증가합니다. 복구가 완료되면이 값은 해당 복구 중에 적용된 마지막 트랜잭션의 값에서 정적으로 유지됩니다. 복구없이 서버가 정상적으로 시작되면 함수는 NULL을 반환합니다.

표 9-80회복 진행 상황을 제어합니다. 이러한 스포츠 토토은 회복 중에 만 실행될 수 있습니다.

표 9-80. 복구 제어 스포츠 토토

이름 반환 유형 설명
PG_IS_XLOG_REPLAY_PAUSD () bool 회복이 일시 중지 된 경우 진실.
PG_XLOG_REPLAY_PAUSE () void 즉시 복구를 일시 중지합니다 (기본적으로 슈퍼업자로 제한되지만 다른 사용자가 함수를 실행하도록 실행할 수 있습니다)..
pg_xlog_replay_resume () void 복구가 일시 중지 된 경우 복구를 다시 시작합니다 (기본적으로 슈퍼 사용자로 제한되지만 다른 사용자가 함수를 실행하도록 실행할 수 있습니다)..

복구가 일시 중지되는 동안 더 이상 데이터베이스 변경 사항이 적용되지 않습니다. 핫 스탠드에서 모든 새로운 쿼리가 데이터베이스의 동일한 일관된 스냅 샷을 볼 수 있고 복구가 재개 될 때까지 더 이상의 쿼리 충돌이 생성되지 않습니다.

스트리밍 복제가 비활성화되면 일시 정지 상태는 문제없이 무기한으로 계속 될 수 있습니다. 스트리밍 복제가 진행 중이지만 WAL 레코드는 계속 수신되며, 이는 일시 정지 기간, 월 생성 속도 및 사용 가능한 디스크 공간에 따라 사용 가능한 디스크 공간을 채우게됩니다..

9.26.5. 스냅 샷 동기화 함수

PostgreSQL데이터베이스 세션이 스냅 샷을 동기화 할 수 있습니다. 에이스냅 샷스냅 샷을 사용하는 트랜잭션에 표시되는 데이터를 결정합니다. 둘 이상의 세션이 데이터베이스에서 동일한 컨텐츠를 볼 필요가있는 경우 동기화 된 스냅 샷이 필요합니다. 두 세션이 트랜잭션을 독립적으로 시작하는 경우, 일부 세 번째 트랜잭션이 둘의 실행 사이에 항상 도움이 될 가능성이 있습니다트랜잭션 시작명령, 한 세션은 해당 거래의 영향을보고 다른 세션은 그렇지 않습니다..

이 문제를 해결하려면PostgreSQL거래를 허용Export사용중인 스냅 샷. 수출 거래가 계속 열려있는 한 다른 거래는가져 오기스냅 샷이므로 첫 번째 트랜잭션에서 볼 수있는 데이터베이스와 정확히 동일한보기를 보장합니다. 그러나 이러한 트랜잭션 중 하나에 의해 이루어진 데이터베이스 변경은 커밋되지 않은 트랜잭션의 변경 사항과 마찬가지로 다른 트랜잭션에 보이지 않습니다. 따라서 트랜잭션은 기존 데이터와 관련하여 동기화되지만 정상적으로 변화에 대해 행동합니다.

스냅 샷이pg_export_snapshot함수, 표시표 9-81및로 가져 오기PostgreSQL : 문서 : 9.6 : 토토 설정명령.

표 9-81. 스냅 샷 동기화 함수

이름 반환 유형 설명
pg_export_snapshot () 텍스트 현재 스냅 샷을 저장하고 식별자를 반환

함수pg_export_snapshot현재 스냅 샷을 저장하고 a를 반환합니다.텍스트스냅 샷을 식별하는 문자열. 이 문자열은 스냅 샷을 가져 오려는 클라이언트에게 (데이터베이스 외부) 전달되어야합니다. 스냅 샷은 거래가 끝날 때까지만 가져올 수 있습니다. 거래는 필요한 경우 둘 이상의 스냅 샷을 내보낼 수 있습니다. 그렇게하는 것은에서만 유용합니다.Committed 읽기그 이후의 거래반복 가능한 읽기더 높은 격리 수준 인 트랜잭션은 평생 동안 동일한 스냅 샷을 사용합니다. 트랜잭션이 스냅 샷을 내보내면로 준비 할 수 없습니다.PostgreSQL : 문서 : 9.6 : 거래 배트맨 토토.

참조PostgreSQL : 문서 : 9.6 : 토토 설정내보내기 스냅 샷 사용 방법에 대한 자세한 내용.

9.26.6. 복제 스포츠 토토

표 9-82복제 스포츠 토토을 제어하고 상호 작용하기위한 것입니다. 보다섹션 26.2.5, 섹션 26.2.643사설 토토19기본 스포츠 토토에 대한 정보. 복제 원점에 대한 스포츠 토토 사용은 슈퍼 사용자로 제한됩니다. 복제 슬롯에 스포츠 토토을 사용하는 스포츠 토토은 슈퍼업자 및 사용자에게 제한됩니다복제특권.

이러한 함수 중 다수는 복제 프로토콜에 동등한 명령을 가지고 있습니다. 보다PostgreSQL : 문서 : 9.6 : 사설 토토 복제 프로토콜.

에 설명 된 스포츠 토토섹션 9.26.3, 섹션 9.26.4섹션 9.26.5복제와 관련이 있습니다.

표 9-82. 복제SQL스포츠 토토

스포츠 토토 반환 유형 설명
PG_CREATE_PHYSICAL_REPLICATION_SLOT (SLOT_NAME 이름[, 즉시 _reserve 부울]) (SLOT_NAME 이름, xlog_position PG_LSN) 새 물리적 복제 슬롯을 만듭니다SLOT_NAME. 선택적 두 번째 매개 변수,true, 지정LSN이 복제 슬롯에 대해 즉시 예약하십시오. 그렇지 않으면LSN스트리밍 복제 클라이언트의 첫 번째 연결에 예약되어 있습니다. 물리적 슬롯의 스트리밍 변경은 스트리밍 반복 프로토콜에서만 가능합니다. 참조PostgreSQL : 문서 : 9.6 : 사설 토토 복제 프로토콜. 이 스포츠 토토은 복제 프로토콜 명령에 해당합니다create_replication_slot ... 물리적.
PG_DROP_REPLICATION_SLOT (slot_name 이름) void 물리적 또는 논리적 복제 슬롯을 삭제합니다SLOT_NAME. 복제 프로토콜 명령과 동일Drop_Replication_SLOT.
pg_create_logical_replication_slot (SLOT_NAME 이름, 플러그인 이름) (SLOT_NAME 이름, xlog_position PG_LSN) 새로운 논리적 (디코딩) 복제 슬롯을 만듭니다SLOT_NAME출력 플러그인 사용플러그인. 이 스포츠 토토에 대한 호출은 복제 프로토콜 명령과 동일한 효과를냅니다.create_replication_slot ... 논리적.
PG_LOGICAL_SLOT_GET_CHANGES (SLOT_NAME 이름, UPTO_LSN PG_LSN, upto_nchanges int, variadic옵션 텍스트 []) (위치 PG_LSN, XID xid, 데이터 텍스트) 슬롯의 변경 사항을 반환SLOT_NAME, 변화가 마지막으로 소비 된 시점부터 시작합니다. 만약에upto_lsnandupto_nchangesNULL, WAL이 끝날 때까지 논리적 디코딩이 계속됩니다. 만약에UPTO_LSN는 널이없고, 디코딩에는 지정된 LSN 이전에 저지른 거래 만 포함됩니다. 만약에upto_nchanges는 널이없고 디코딩으로 생성 된 행의 수가 지정된 값을 초과 할 때 디코딩이 중지됩니다. 그러나이 한계는 각각의 새로운 트랜잭션 커밋을 해독 할 때 생성 된 행을 추가 한 후에 만 ​​확인되므로 반환 된 실제 행 수는 더 클 수 있습니다..
PG_LOGICAL_SLOT_PEEK_CHANGES (SLOT_NAME 이름, UPTO_LSN PG_LSN, upto_nchanges int, variadic옵션 텍스트 []) (위치 텍스트, xid xid, 데이터 텍스트) 똑같이 동작pg_logical_slot_get_changes ()변경 사항이 소비되지 않는 경우를 제외하고는 스포츠 토토; 즉, 향후 전화로 다시 반환됩니다.
pg_logical_slot_get_binary_changes (slot_name 이름, upto_lsn PG_LSN, upto_nchanges int, variadic옵션 텍스트 []) (위치 PG_LSN, xid xid, data BYTEA) 똑같이 동작pg_logical_slot_get_changes ()함수, 변경 사항을 제외하고.BYTEA.
pg_logical_slot_peek_binary_changes (SLOT_NAME 이름, UPTO_LSN PG_LSN, upto_nchanges int, variadic옵션 텍스트 []) (위치 PG_LSN, xid xid, 데이터 BYTEA) 똑같이 동작pg_logical_slot_get_changes ()스포츠 토토, 변경 사항을 제외하고.BYTEA그리고 그 변화는 소비되지 않습니다. 즉, 향후 전화로 다시 반환됩니다.
pg_replication_origin_create (node_name 텍스트) OID 지정된 외부 이름으로 복제 원점을 작성하고 할당 된 내부 ID를 반환합니다.
pg_replication_origin_drop (node_name 텍스트) void 관련 재생 진행을 포함하여 이전에 생성 된 복제 원점을 삭제합니다.
pg_replication_origin_oid (node_name 텍스트) OID 이름으로 복제 원점을 조회하고 내부 ID를 반환하십시오. 해당 복제 원점이 발견되지 않으면 오류가 발생합니다.
pg_replication_origin_session_setup (node_name 텍스트) void 현재 세션을 주어진 원점에서 재생하는 것으로 표시하여 재생 진행을 추적 할 수 있습니다. 사용pg_replication_origin_session_reset되돌리려면. 이전 원점이 구성되지 않은 경우에만 사용할 수 있습니다.
pg_replication_origin_session_reset () void 의 효과 취소pg_replication_origin_session_setup ().
pg_replication_origin_session_is_setup () bool 현재 세션에서 복제 원점이 구성 되었습니까?
pg_replication_origin_session_progress (플러시 bool) PG_LSN 현재 세션에서 구성된 복제 원점의 재생 위치를 반환합니다. 매개 변수플러시해당 지역 거래가 디스크로 플러시되었는지 여부를 결정합니다.
pg_replication_origin_xact_setup (origin_lsn PG_LSN, origin_timestamp Timestamptz) void 주어진 거래에서 커밋 된 거래를 재생하는 것으로 현재 트랜잭션을 표시LSN및 타임 스탬프. 복제 원점이 이전에 사용하여 구성된 경우에만 호출 할 수 있습니다pg_replication_origin_session_setup ().
pg_replication_origin_xact_reset () void 의 효과 취소pg_replication_origin_xact_setup ().
pg_replication_origin_advance(node_name 텍스트, POS PG_LSN) void 주어진 노드의 복제 진행을 주어진 위치로 설정합니다. 이는 주로 구성 변경 및 이와 유사한 후 초기 위치 또는 새로운 위치를 설정하는 데 유용합니다. 이 스포츠 토토을 부주의하게 사용하는 데이터가 일관되지 않게 복제 된 데이터로 이어질 수 있습니다.
pg_replication_origin_progress (node_name 텍스트, 플러시 bool) PG_LSN 주어진 복제 원점에 대한 재생 위치를 반환합니다. 매개 변수플러시해당 지역 거래가 디스크로 플러시되었는지 여부를 결정합니다.
PG_LOGICAL_EMIT_MESSAGE (거래 bool, 접두사 텍스트, 컨텐츠 텍스트) PG_LSN 텍스트 논리 디코딩 메시지를 방출합니다. 이것은 WAL을 통해 일반 메시지를 논리 디코딩 플러그인으로 전달하는 데 사용할 수 있습니다. 매개 변수트랜잭션메시지가 현재 트랜잭션의 일부 여야하는지 또는 논리적 디코딩이 레코드를 읽 자마자 즉시 작성하고 디코딩 해야하는지 지정합니다. 그만큼접두사| 논리적 디코딩 플러그인이 흥미로운 메시지를 쉽게 인식하기 위해 사용하는 텍스트 접두사입니다. 그만큼컨텐츠메시지의 텍스트입니다.
PG_LOGICAL_EMIT_MESSAGE (거래 bool, 접두사 텍스트, 컨텐츠 BYTEA) PG_LSN 이진 논리 디코딩 메시지를 방출합니다. 이것은 WAL을 통해 일반 메시지를 논리 디코딩 플러그인으로 전달하는 데 사용할 수 있습니다. 매개 변수거래메시지가 현재 트랜잭션의 일부 여야하는지 또는 논리적 디코딩이 레코드를 읽 자마자 즉시 작성하고 디코딩 해야하는지 지정합니다. 그만큼접두사논리적 디코딩 플러그인이 흥미로운 메시지를 쉽게 인식하기 위해 사용하는 텍스트 접두사입니다. 그만큼컨텐츠메시지의 이진 내용입니다.

9.26.7. 데이터베이스 객체 관리 스포츠 토토

표 9-83데이터베이스 개체의 디스크 공간 사용량 계산.

표 9-83. 데이터베이스 객체 크기 스포츠 토토

이름 반환 유형 설명
pg_column_size (Any) int 특정 값을 저장하는 데 사용되는 바이트 수 (압축 될 수 있음)
pg_database_size (OID) bigint 지정된 OID와 함께 데이터베이스에서 사용하는 디스크 공간
pg_database_size (이름) bigint 지정된 이름으로 데이터베이스에서 사용하는 디스크 공간
pg_indexes_size (RegClass) bigint 지정된 표에 첨부 된 인덱스에 의해 사용되는 총 디스크 공간
pg_relation_size (관계 RegClass, 포크 텍스트) bigint 지정된 포크에서 사용하는 디스크 공간 ('main', 'FSM', 'vm'또는'init') 지정된 테이블 또는 색인의
pg_relation_size (관계 RegClass) bigint 속기pg_relation_size (..., 'main')
pg_size_bytes (텍스트) bigint 크기 단위를 가진 사람이 읽을 수있는 형식의 크기를 바이트로 변환
pg_size_pretty (bigint) 텍스트 크기를 64 비트 정수로 표현한 바이트의 크기를 크기 단위를 가진 사람이 읽을 수있는 형식으로 변환
pg_size_pretty (숫자) 텍스트 크기를 숫자 값으로 표현한 바이트의 크기를 크기 단위를 가진 사람이 읽을 수있는 형식으로 변환
pg_table_size (regclass) bigint 지정된 테이블에서 사용하는 디스크 공간 (그러나 토스트, 여유 공간 맵 및 가시성 맵 포함)
pg_tablespace_size (OID) bigint 지정된 OID와 함께 테이블 스페이스에서 사용하는 디스크 공간
pg_tablespace_size (이름) bigint 지정된 이름으로 테이블 스페이스에서 사용하는 디스크 공간
PG_TOTAL_RELATION_SIZE (RegClass) bigint 모든 인덱스를 포함하여 지정된 테이블에서 사용하는 총 디스크 공간토스트데이터

pg_column_size개별 데이터 값을 저장하는 데 사용되는 공간을 보여줍니다.

PG_TOTAL_RELATION_SIZE테이블 또는 토스트 테이블의 OID 또는 이름을 허용하고 모든 관련 인덱스를 포함하여 해당 테이블에 사용 된 총 디스크 공간을 반환합니다. 이 스포츠 토토은와 같습니다.pg_table_size + pg_indexes_size.

pg_table_size테이블의 OID 또는 이름을 수락하고 인덱스를 제외한 해당 테이블에 필요한 디스크 공간을 반환합니다. (토스트 공간, 여유 공간지도 및 가시성 맵이 포함되어 있습니다.)

pg_indexes_size테이블의 OID 또는 이름을 허용하고 해당 테이블에 첨부 된 모든 인덱스가 사용하는 총 디스크 공간을 반환합니다..

pg_database_sizepg_tablespace_size데이터베이스 또는 테이블 스페이스의 OID 또는 이름을 수락하고 여기에 사용 된 총 디스크 공간을 반환하십시오. 사용하려면pg_database_size, 당신은 있어야합니다Connect지정된 데이터베이스에 대한 권한 (기본적으로 부여됨). 사용하려면pg_tablespace_size, 당신은 있어야합니다생성현재 데이터베이스의 기본 테이블 스페이스가 아닌 한 지정된 테이블 스페이스의 권한.

pg_relation_size테이블, 인덱스 또는 토스트 테이블의 OID 또는 이름을 수락하고 해당 관계의 한 포크의 바이트로 온 디스크 크기를 반환합니다. (대부분의 목적으로 더 높은 수준의 스포츠 토토을 사용하는 것이 더 편리합니다PG_TOTAL_RELATION_SIZE또는pg_table_size는 모든 포크의 크기를 합산합니다.) 하나의 인수와 함께, 그것은 관계의 기본 데이터 포크의 크기를 반환합니다. 두 번째 인수는 검사 할 포크를 지정하기 위해 제공 될 수 있습니다.

  • 'main'관계의 기본 데이터 포크의 크기를 반환합니다.

  • 'FSM'여유 공간지도의 크기를 반환합니다 (참조섹션 65.3) 관계와 관련이 있습니다.

  • 'vm'가시성 맵의 크기를 반환합니다 (참조PostgreSQL : 문서 : 9.6 : 토토 핫 맵) 관계와 관련이 있습니다.

  • 'init'관계와 관련된 초기화 포크의 크기를 반환합니다.

pg_size_prettyBYTES, KB, MB, GB 또는 TB를 적절하게 사용하여 다른 스포츠 토토 중 하나의 결과를 인간 읽을 수있는 방식으로 포맷하는 데 사용될 수 있습니다.

pg_size_bytes는 사람이 읽을 수있는 형식의 문자열에서 바이트로 크기를 얻는 데 사용될 수 있습니다. 입력에는 바이트, KB, MB, GB 또는 TB의 단위가있을 수 있으며 사례에 비해 구문 분석됩니다. 단위가 지정되지 않으면 바이트가 가정됩니다.

참고 :스포츠 토토에 사용되는 단위 KB, MB, GB 및 TBpg_size_pretty56456_56463pg_size_bytes10의 전력이 아닌 2의 전력을 사용하여 정의되므로 1KB는 1024 바이트, 1MB는 ​​1024입니다.2= 1048576 바이트 등.

테이블 또는 인덱스에서 작동하는 위의 스포츠 토토은 a를 허용합니다.Regclass인수, 이것은 단순히 테이블 또는 인덱스의 OID 인입니다.PG_CLASS시스템 카탈로그. 그러나 이후로 Oid를 직접 찾을 필요는 없습니다.RegclassData Type의 입력 변환기가 작업을 수행합니다. 문자 그대로 상수처럼 보이도록 단일 따옴표로 둘러싸인 테이블 이름을 작성하십시오. 평범한 취급과 호환성SQL이름, 테이블 이름 주위에 이중 인용문이 포함되어 있지 않으면 문자열이 소문자로 변환됩니다.

기존 객체를 나타내지 않는 OID가 위의 함수 중 하나에 인수로 전달되면 NULL이 반환됩니다.

표 9-84데이터베이스 개체와 관련된 특정 디스크 파일을 식별하는 데 도움이됩니다.

표 9-84. 데이터베이스 객체 위치 함수

이름 반환 유형 설명
PG_RELATION_FILENODE (관계 RegClass) OID 지정된 관계의 Filenode 번호
PG_RELATION_FILEPATH (관계 RegClass) 텍스트 지정된 관계의 파일 경로 이름
PG_FILENODE_RELATION (테이블 스페이스 OID, filenode OID) Regclass 주어진 테이블 스페이스 및 필레 노드와 관련된 관계를 찾으십시오

PG_RELATION_FILENODE테이블, 인덱스, 시퀀스 또는 토스트 테이블의 OID 또는 이름을 허용하고를 반환합니다."Filenode"현재 할당 된 번호. Filenode는 관계에 사용되는 파일 이름의 기본 구성 요소입니다 (참조PostgreSQL : 문서 : 9.6 : 데이터베이스 스포츠 토토 사이트 레이아웃자세한 내용은). 대부분의 테이블의 경우 결과는와 동일합니다.PG_CLASS.relfilenode, 그러나 특정 시스템 카탈로그의 경우relfilenode| 제로 이며이 함수는 올바른 값을 얻으려면 사용해야합니다. 뷰와 같이 스토리지가없는 관계를 전달하면 함수가 NULL을 반환합니다.

PG_RELATION_FILEPATHPG_RELATION_FILENODE그러나 전체 파일 경로 이름을 반환합니다 (데이터베이스 클러스터의 데이터 디렉토리에 비해pgdata) 관계의.

PG_FILENODE_RELATION반대입니다PG_RELATION_FILENODE. 주어진"테이블 스페이스"OID 및 A"Filenode", 관련 관계의 OID를 반환합니다. 데이터베이스의 기본 테이블 스페이스의 테이블의 경우 테이블 스페이스를 0으로 지정할 수 있습니다.

9.26.8. 색인 유지 관리 스포츠 토토

표 9-85인덱스 유지 보수 작업에 사용 가능한 스포츠 토토을 표시합니다. 이러한 스포츠 토토은 복구 중에 실행할 수 없습니다. 이러한 스포츠 토토의 사용은 슈퍼업자와 주어진 색인의 소유자로 제한됩니다.

표 9-85. 색인 유지 관리 스포츠 토토

이름 반환 유형 설명
brin_summarize_new_values ​​(색인 RegClass) 정수 요약되지 않은 페이지 범위 요약
gin_clean_pending_list (색인 regclass) bigint 진 보류 목록 항목을 기본 색인 구조로 이동

brin_summarize_new_valuesBrin Index의 OID 또는 이름을 수락하고 현재 인덱스에 의해 요약되지 않은 기본 테이블에서 페이지 범위를 찾도록 색인을 검사합니다. 이러한 범위의 경우 표 페이지를 스캔하여 새로운 요약 인덱스 튜플을 만듭니다. 인덱스에 삽입 된 새 페이지 범위 요약 수를 반환합니다.

gin_clean_pending_list진 인덱스의 OID 또는 이름을 수락하고 IT의 항목을 대량으로 메인 GIN 데이터 구조로 이동하여 지정된 인덱스의 보류 목록을 정리합니다. 보류중인 목록에서 제거 된 페이지 수를 반환합니다. 인수가로 구축 된 진 지수 인 경우Fastupdate옵션 비활성화, 정리가 발생하지 않으며 반환 값은 0이므로 인덱스에 보류중인 목록이 없기 때문입니다. 참조 참조섹션 63.4.1PostgreSQL : 문서 : 9.6 : 진 팁 및 롤 토토보류중인 목록의 세부 사항 및Fastupdate옵션.

9.26.9. 일반 파일 액세스 함수

표 9-86서버를 호스팅하는 컴퓨터의 파일에 기본 액세스를 제공합니다. 데이터베이스 클러스터 디렉토리 및 내의 파일 만log_directory액세스 할 수 있습니다. 클러스터 디렉토리의 파일에 상대 경로를 사용하고와 일치하는 경로를 사용하십시오.log_directory로그 파일의 구성 설정. 이러한 스포츠 토토의 사용은 슈퍼업자로 제한됩니다.

표 9-86. 일반 파일 액세스 함수

이름 반환 유형 설명
PG_LS_DIR (Dirname 텍스트[,Missing_ok 부울, include_dot_dirs 부울]) 텍스트 설정 디렉토리의 내용을 나열합니다.
pg_read_file (filename 텍스트[,오프셋 bigint, 길이 bigint[,Missing_ok 부울]]) 텍스트 텍스트 파일의 내용을 반환합니다.
pg_read_binary_file (filename 텍스트[,오프셋 bigint, 길이 bigint[,Missing_ok 부울]]) BYTEA 파일의 내용을 반환합니다.
pg_stat_file (filename 텍스트[,Missing_ok 부울]) 레코드 파일에 대한 정보를 반환합니다.

이러한 모든 스포츠 토토은 선택 사항을 취합니다Missing_ok매개 변수는 파일 또는 디렉토리가 존재하지 않을 때 동작을 지정합니다. 만약에true, 함수는 NULL을 반환합니다 (제외PG_LS_DIR, 빈 결과 세트를 반환합니다). 만약에false, 오류가 발생합니다. 기본값은거짓.

PG_LS_DIR지정된 디렉토리에서 모든 파일 (및 디렉토리 및 기타 특수 파일)의 이름을 반환합니다. 그만큼include_dot_dirs"."and".."결과 세트에 포함되어 있습니다. 기본값은 제외하는 것입니다 (false) 그러나 그것들을 포함시키는 경우Missing_okistrue, 빈 디렉토리를 존재하지 않는 디렉토리와 구별하려면

PG_READ_FILE주어진에서 시작하여 텍스트 파일의 일부를 반환오프셋, 최대 반환길이바이트 (파일 끝에 먼저 도달하면 적음). 만약에오프셋는 음수입니다. 파일의 끝과 관련이 있습니다. 만약에오프셋길이생략되면 전체 파일이 반환됩니다. 파일에서 읽은 바이트는 서버 인코딩의 문자열로 해석됩니다. 해당 인코딩에서 유효하지 않으면 오류가 발생합니다.

PG_READ_BINARY_FILEPG_READ_FILE, 결과가 a를 제외하고BYTEA값; 따라서 인코딩 검사는 수행되지 않습니다. 와 함께convert_from함수,이 함수는 지정된 인코딩에서 파일을 읽는 데 사용될 수 있습니다 :

convert_from (pg_read_binary_file ( 'file_in_utf8.txt'), 'utf8');를 선택하십시오.

PG_STAT_FILE파일 크기, 마지막 액세스 타임 스탬프, 마지막 수정 타임 스탬프, 마지막 파일 상태 변경 타임 스탬프 (Unix 플랫폼 만), 파일 생성 시간 스탬프 (Windows 만) 및 A가 포함 된 레코드를 반환합니다.부울디렉토리인지를 나타냅니다. 일반적인 사용에는 다음이 포함됩니다.

선택 *에서 pg_stat_file ( 'filename');
선택 (pg_stat_file ( 'filename')). 수정;

9.26.10. 자문 잠금 스포츠 토토

표 9-87자문 잠금 관리. 이러한 스포츠 토토의 적절한 사용에 대한 자세한 내용은 참조하십시오.섹션 13.3.5.

표 9-87. 자문 잠금 스포츠 토토

이름 반환 유형 설명
pg_advisory_lock ( bigint) void 독점 세션 레벨 자문 잠금
pg_advisory_lock (key1 int, key2 int) void 독점 세션 레벨 자문 잠금
pg_advisory_lock_shared ( bigint) void 공유 세션 레벨 자문 잠금 획득
pg_advisory_lock_shared (key1 int, key2 int) void 공유 세션 레벨 자문 잠금
pg_advisory_unlock ( bigint) 부울 독점 세션 레벨 자문 잠금 릴리스
pg_advisory_unlock (key1 int, key2 int) 부울 독점 세션 레벨 자문 잠금 릴
pg_advisory_unlock_all () void 현재 세션에서 보유한 모든 세션 레벨 자문 잠금 릴리스
pg_advisory_unlock_shared ( bigint) 부울 공유 세션 레벨 자문 잠금 릴
pg_advisory_unlock_shared (key1 int, key2 int) 부울 공유 세션 레벨 자문 잠금 릴
pg_advisory_xact_lock ( bigint) void 독점 거래 레벨 자문 잠금
pg_advisory_xact_lock (key1 int, key2 int) void 독점 거래 레벨 자문 잠금
pg_advisory_xact_lock_shared ( bigint) void 공유 거래 수준 자문 잠금
pg_advisory_xact_lock_shared (key1 int, key2 int) void 공유 거래 레벨 자문 잠금
PG_TRY_ADVISORY_LOCK ( bigint) 부울 사용 가능한 경우 독점 세션 레벨 자문 잠금을 얻습니다
pg_try_advisory_lock (key1 int, key2 int) 부울 사용 가능한 경우 독점 세션 레벨 자문 잠금을 얻습니다
pg_try_advisory_lock_shared ( bigint) 부울 사용 가능한 경우 공유 세션 수준 자문 잠금 획득
pg_try_advisory_lock_shared (key1 int, key2 int) 부울 사용 가능한 경우 공유 세션 레벨 자문 잠금 획득
PG_TRY_ADVISORY_XACT_LOCK ( bigint) 부울 사용 가능한 경우 독점 거래 레벨 자문 잠금
PG_TRY_ADVISORY_XACT_LOCK (key1 int, key2 int) 부울 사용 가능한 경우 독점 거래 레벨 자문 잠금 획득
pg_try_advisory_xact_lock_shared ( bigint) 부울 사용 가능한 경우 공유 거래 레벨 자문 잠금 획득
pg_try_advisory_xact_lock_shared (key1 int, key2 int) 부울 사용 가능한 경우 공유 거래 레벨 자문 잠금 획득

pg_advisory_lock응용 프로그램 정의 리소스를 잠그고, 단일 64 비트 키 값 또는 두 개의 32 비트 키 값으로 식별 할 수 있습니다 (이 두 주요 공간은 겹치지 않습니다). 다른 세션에서 이미 동일한 리소스 식별자에 대한 잠금 장치를 보유한 경우이 스포츠 토토은 리소스를 사용할 수있게 될 때까지 대기합니다. 자물쇠는 독점적입니다. 다중 잠금 요청 스택, 동일한 자원이 3 번 잠금되면 다른 세션의 사용을 위해 3 번 잠금을 해제해야합니다..

pg_advisory_lock_sharedpg_advisory_lock, 잠금 장치는 공유 잠금을 요청하는 다른 세션과 공유 할 수있는 경우를 제외하고. 독점적 인 사물함 만 잠겨 있습니다.

PG_TRY_ADVISORY_LOCKpg_advisory_lock- 함수가 잠금을 사용할 수있을 때까지 대기하지 않는 경우를 제외하고. 즉시 잠금을 얻고 반환합니다True또는 returnfalse잠금을 즉시 얻을 수없는 경우

pg_try_advisory_lock_sharedPG_TRY_ADVISORY_LOCK, 독점적 인 잠금이 아닌 공유를 취득하려는 시도를 제외하고

pg_advisory_unlock이전에 획득 한 독점 세션 레벨 자문 잠금 장치를 출시합니다. 반환true잠금이 성공적으로 해제 된 경우. 자물쇠가 유지되지 않으면 반환됩니다거짓, 또한 서버에서 SQL 경고 가보고됩니다.

pg_advisory_unlock_sharedpg_advisory_unlock, 공유 세션 수준의 자문 잠금을 출시 한 경우를 제외하고

pg_advisory_unlock_all현재 세션에서 보유한 모든 세션 레벨 자문 잠금 장치를 출시합니다. (이 스포츠 토토은 클라이언트가 끊임없이 끊어 지더라도 세션 종료시 암시 적으로 호출됩니다.)

pg_advisory_xact_lockpg_advisory_lock, 현재 트랜잭션이 끝날 때 자동으로 릴리스되고 명시 적으로 해제 될 수없는 경우를 제외하고.

pg_advisory_xact_lock_sharedpg_advisory_lock_shared, 현재 트랜잭션이 끝날 때 자동으로 릴리스되고 명시 적으로 해제 될 수없는 경우를 제외하고.

PG_TRY_ADVISORY_XACT_LOCK|PG_TRY_ADVISORY_LOCK, 잠금을 제외하고, 획득 한 경우, 현재 트랜잭션이 끝날 때 자동으로 릴리스되고 명시 적으로 해제 될 수 없습니다..

pg_try_advisory_xact_lock_sharedpg_try_advisory_lock_shared, 잠금을 제외하고, 획득 한 경우, 현재 트랜잭션이 끝날 때 자동으로 릴리스되고 명시 적으로 해제 될 수 없다..