이 문서는 지원되지 않는 버전의 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');

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

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

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

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성공하고false그렇지 않으면.

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_timepg_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) 텍스트 트랜잭션 로그 위치를 파일 이름으로 변환
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 =# select pg_start_backup ( 'label_goes_here');

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

독점 백업에서PG_STOP_BACKUP레이블 파일을 제거하고 존재하면TableSpace_map파일에 의해 생성 된 파일PG_START_BACKUP. 비 독점적 인 백업에서의 내용은backup_labelTableSpace_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_offset_offset (pg_stop_backup ());

마찬가지로pg_xlogfile_name트랜잭션 로그 파일 이름 만 추출합니다. 주어진 트랜잭션 로그 위치가 트랜잭션 로그 파일 경계에있는 경우이 두 스포츠 토토 모두 이전 트랜잭션 로그 파일의 이름을 반환합니다.

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

이 스포츠 토토의 적절한 사용에 대한 자세한 내용은 참조섹션 25.3.

9.26.4. 복구 제어 스포츠 토토

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

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

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

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

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

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

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

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

9.26.5. 스냅 샷 동기화 함수

postgresql데이터베이스 세션이 스냅 샷을 동기화 할 수 있습니다. 에이스냅 샷스냅 샷을 사용하는 트랜잭션에 표시되는 데이터를 결정합니다. 둘 이상의 세션이 데이터베이스에서 동일한 컨텐츠를 볼 필요가있는 경우 동기화 된 스냅 샷이 필요합니다.트랜잭션 시작명령, 한 세션은 해당 거래의 효과를보고 다른 세션은 그렇지 않습니다.

이 문제를 해결하려면postgresql거래를 허용Export사용중인 스냅 샷. 수출 거래가 계속 열려있는 한 다른 거래는가져 오기스냅 샷이므로 첫 번째 트랜잭션에서 볼 수있는 데이터베이스의 뷰를 정확히 볼 수 있음을 보장합니다. 그러나 이러한 트랜잭션 중 하나에 의해 이루어진 데이터베이스 변경은 커밋되지 않은 트랜잭션의 변경 사항과 마찬가지로 다른 트랜잭션에 보이지 않습니다.

Snapshots가pg_export_snapshot함수, 표시표 9-81및로 가져 오기거래 설정명령.

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

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

함수pg_export_snapshot현재 스냅 샷을 저장하고 a를 반환합니다.텍스트문자열 스냅 샷을 식별합니다. 이 문자열은 스냅 샷을 가져 오려는 클라이언트에게 (데이터베이스 외부) 전달되어야합니다.Committed그 이후의 거래반복 가능한 읽기및 더 높은 격리 수준 인 트랜잭션은 평생 동안 동일한 스냅 샷을 사용합니다. 트랜잭션이 스냅 샷을 내보내면로 준비 할 수 없습니다.PostgreSQL :.

참조거래 설정24175_24222

9.26.6. 복제 스포츠 토토

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

이러한 스포츠 토토 중 많은 부분이 복제 프로토콜에 동등한 명령을 가지고 있습니다. 보다섹션 51.3.

에 설명 된 스포츠 토토섹션 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스트리밍 복제 클라이언트의 첫 번째 연결에 예약되어 있습니다. 물리적 슬롯의 스트리밍 변경은 스트리밍 반복 프로토콜에서만 가능합니다. 참조섹션 51.3. 이 스포츠 토토은 복제 프로토콜 명령에 해당합니다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 ... logical.
pg_logical_slot_get_changes (slot_name 이름, upto_lsn PG_LSN, upto_nchanges int, variadic옵션 텍스트 []) (위치 PG_LSN, xid xid, 데이터 텍스트) 슬롯의 변경 사항을 반환slot_name, 변화가 마지막으로 소비 된 시점부터 시작합니다. 만약에upto_lsnupto_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, 데이터 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_prettypg_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, 오류가 발생합니다. 기본값은false.

PG_LS_DIR지정된 디렉토리에서 모든 파일 (및 디렉토리 및 기타 특수 파일)의 이름을 반환합니다. 그만큼include_dot_dirs"."".."결과 세트에 포함되어 있습니다. 기본값은 제외하는 것입니다 (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');

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 비트 키 값으로 식별 할 수있는 응용 프로그램 정의 리소스를 잠그십시오 (이 두 주요 공간은 겹치지 않습니다). 다른 세션에서 이미 동일한 리소스 식별자에 대한 잠금 장치를 보유한 경우이 스포츠 토토은 리소스를 사용할 수있게 될 때까지 대기합니다.

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

PG_TRY_ADVISORY_LOCKpg_advisory_lock- 함수가 잠금이 가능할 때까지 기다리지 않는 경우를 제외하고. 즉시 잠금을 얻고 반환합니다true또는 returnfalse잠금을 즉시 얻을 수없는 경우.

pg_try_advisory_lock_shared와 동일하게 작동합니다PG_TRY_ADVISORY_LOCK, 독점적 인 잠금이 아닌 공유를 취득하려는 시도를 제외하고

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

pg_advisory_unlock_shared와 동일하게 작동합니다pg_advisory_unlock, 공유 세션 수준 자문 잠금 장치를 출시 한 경우를 제외하고

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

pg_advisory_xact_lock와 동일하게 작동합니다pg_advisory_lock, 현재 트랜잭션이 끝날 때 자동으로 릴리스되고 명시 적으로 해제 될 수없는 경우를 제외하고.

pg_advisory_xact_lock_shared와 동일하게 작동합니다pg_advisory_lock_shared, 현재 트랜잭션이 끝날 때 자동으로 릴리스되고 명시 적으로 해제 될 수없는 경우를 제외하고.

PG_TRY_ADVISORY_XACT_LOCK와 동일하게 작동합니다PG_TRY_ADVISORY_LOCK64025_64155

pg_try_advisory_xact_lock_shared와 동일하게 작동합니다pg_try_advisory_lock_shared64025_64155