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

9.24. 시스템 관리 기능

테이블 9-55질의 및 변경에 사용할 수 있는 토토 캔을 표시합니다. 런타임 구성 매개변수입니다.

표 9-55. 구성 설정 토토 캔

이름 반환 유형 설명
현재_설정(설정_이름) 텍스트 현재 설정 값 가져오기
set_config(설정_이름, new_value, is_local) 텍스트 매개변수 설정 및 새 값 반환

함수현재_설정설정의 현재 값을 산출설정_이름. 에 해당합니다.SQL명령표시. 예:

SELECT current_setting('날짜 스타일');

 현재_설정
-----------------
 ISO, MDY
(1행)

set_config매개변수 설정설정_이름new_value. 만일is_localis, 새로운 값은 현재 거래에만 적용됩니다. 원한다면 현재 세션에 적용할 새 값, 사용거짓대신. 함수는 SQL에 해당합니다. 명령SET. 예:

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

 세트_구성
------------
 떨어져서
(1행)

다음에 표시된 기능테이블 9-56다른 서버 프로세스에 제어 신호를 보냅니다. 사용 이 토토 캔은 슈퍼유저에게만 제공됩니다.

표 9-56. 서버 신호 토토 캔

이름 반환 유형 설명
pg_cancel_backend(pid int) 부울 백엔드의 현재 쿼리 취소
pg_terminate_backend(pid int) 부울 백엔드 종료
pg_reload_conf() 부울 서버 프로세스가 구성을 다시 로드하도록 함 파일
pg_rotate_logfile() 부울 서버의 로그 파일 순환

이러한 각 함수는 다음을 반환합니다.성공한 경우거짓그렇지 않으면.

pg_cancel_backend그리고pg_terminate_backend신호 보내기 (SIGINT또는SIGTERM각각)을 백엔드 프로세스에 프로세스 ID로 식별됩니다. 활성 백엔드의 프로세스 ID는 다음과 같습니다. 다음에서 찾을 수 있습니다.procpidpg_stat_activity보기 또는 작성자 다음을 나열합니다.포스트그레스프로세스 서버(사용 중psUnix 또는작업 관리자켜짐윈도우).

pg_reload_conf보냄SIGHUP서버에 신호를 보내고, 모든 서버에서 구성 파일을 다시 로드하게 함 프로세스.

pg_rotate_logfile신호를 보냅니다 로그 파일 관리자를 사용하여 즉시 새 출력 파일로 전환합니다. 이 내장된 로그 수집기가 실행 중일 때만 작동합니다. 그렇지 않으면 로그 파일 관리자 하위 프로세스가 없습니다.

다음에 표시된 기능테이블 9-57온라인 백업을 지원합니다. 이러한 기능은 할 수 없습니다 복구 중에 실행됩니다. 처음 세 가지 기능의 사용은 다음과 같습니다. 슈퍼유저로 제한됩니다.

표 9-57. 백업 제어 토토 캔

이름 반환 유형 설명
pg_start_backup(라벨 텍스트 [, 빠르게 부울 ]) 텍스트 온라인 백업 수행 준비
pg_stop_backup() 텍스트 온라인 백업 수행 완료
pg_switch_xlog() 텍스트 새 트랜잭션 로그 파일로 강제 전환
pg_current_xlog_location() 텍스트 현재 트랜잭션 로그 쓰기 위치 가져오기
pg_current_xlog_insert_location() 텍스트 현재 트랜잭션 로그 삽입 위치 가져오기
pg_xlogfile_name_offset(위치 텍스트) 텍스트, 정수 트랜잭션 로그 위치 문자열을 파일 이름으로 변환 및 파일 내 십진수 바이트 오프셋
pg_xlog파일_이름(위치 텍스트) 텍스트 트랜잭션 로그 위치 문자열을 파일로 변환 이름

pg_start_backup수락 백업에 대한 임의의 사용자 정의 레이블입니다. (일반적으로 이 백업 덤프 파일의 이름이 됩니다. 저장됩니다.) 이 함수는 백업 라벨 파일()을 작성합니다.backup_label)을 데이터베이스 클러스터의 데이터에 디렉터리를 검사하고 체크포인트를 수행한 다음 백업의 트랜잭션 로그 위치를 텍스트로 시작합니다. 사용자는 무시할 수 있습니다 이 결과 값이지만 유용할 경우를 위해 제공됩니다.

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

유형의 선택적 두 번째 매개변수가 있습니다.부울. 만일그건 실행을 지정합니다pg_start_backup가능한 한 빨리. 이렇게 하면 즉시 체크포인트가 강제 실행됩니다. I/O 작업이 급증하여 동시에 속도가 느려집니다. 쿼리를 실행 중입니다.

pg_stop_backup라벨을 제거합니다 파일 생성자pg_start_backup, 트랜잭션 로그 아카이브에 백업 기록 파일을 생성합니다. 지역. 기록 파일에는 다음과 같은 레이블이 포함됩니다.pg_start_backup, 시작과 끝 백업을 위한 트랜잭션 로그 위치, 시작 및 백업 종료 시간. 반환 값은 백업의 값입니다. 종료 트랜잭션 로그 위치(다시 무시할 수 있음) 종료 위치를 기록한 후 현재 트랜잭션 로그 삽입 지점은 자동으로 다음 트랜잭션으로 진행됩니다. 종료 트랜잭션 로그 파일을 보관할 수 있도록 로그 파일 즉시 백업을 완료하세요.

pg_switch_xlog다음으로 이동합니다 트랜잭션 로그 파일, 현재 파일 보관 가능 (연속 보관을 사용한다고 가정). 반환 값 종료 트랜잭션 로그 위치 + 1 방금 완료된 트랜잭션 로그 파일. 만약에 없었다면 마지막 트랜잭션 로그 전환 이후의 트랜잭션 로그 활동,pg_switch_xlog아무것도 하지 않고 현재 트랜잭션 로그 파일의 시작 위치를 반환합니다. 사용 중입니다.

pg_current_xlog_location현재 트랜잭션 로그 쓰기 위치를 동일한 위치에 표시합니다. 위 함수에서 사용되는 형식입니다. 마찬가지로,pg_current_xlog_insert_location표시 현재 트랜잭션 로그 삽입 지점입니다. 삽입 지점은 다음과 같습니다."논리적"거래 종료 언제든지 로그를 기록하고 쓰기 위치는 작업의 끝입니다. 실제로 서버의 내부 버퍼에서 기록되었습니다. 쓰기 위치는 에서 확인할 수 있는 것의 끝입니다. 서버 외부에 있으며 일반적으로 원하는 경우 부분적으로 완료된 트랜잭션 로그 파일을 보관하는 데 관심이 있습니다. 삽입 지점은 주로 서버에서 사용할 수 있습니다. 디버깅 목적. 이는 모두 읽기 전용 작업이며 다음을 수행합니다. 수퍼유저 권한이 필요하지 않습니다.

당신은 사용할 수 있습니다pg_xlogfile_name_offset추출하려면 해당 트랜잭션 로그 파일 이름 및 바이트 오프셋 위 기능 중 하나의 결과. 예를 들면:

postgres=# SELECT * FROM pg_xlogfile_name_offset(pg_stop_backup());
        파일이름 | 파일_오프셋 
-------------+---------------
 00000001000000000000000D |     4039624
(1행)

마찬가지로,pg_xlogfile_name트랜잭션 로그 파일 이름만 추출합니다. 주어진 때 트랜잭션 로그 위치가 정확히 트랜잭션 로그 파일에 있습니다. 경계의 경우, 이 두 함수 모두 이전 경계의 이름을 반환합니다. 트랜잭션 로그 파일. 이는 일반적으로 원하는 동작입니다. 이전 이후 트랜잭션 로그 보관 동작 관리 파일은 현재 보관해야 하는 마지막 파일입니다.

이러한 토토 캔의 올바른 사용법에 대한 자세한 내용은 참조토토 캔 : 문서 : 9.0 : 연속 토토 캔 및 시점 복구 (PITR).

다음에 표시된 기능테이블 9-58현재 상태에 대한 정보를 제공합니다. 대기. 이러한 기능은 복구 및 복구 중에 실행될 수 있습니다. 정상 실행 중입니다.

표 9-58. 복구 정보 기능

이름 반환 유형 설명
pg_is_in_recovery() 부울 복구가 아직 진행 중이면 True입니다.
pg_last_xlog_receive_location() 텍스트 마지막 트랜잭션 로그 위치 수신 및 동기화 가져오기 스트리밍 복제를 통해 디스크에. 스트리밍하는 동안 복제가 진행 중이므로 증가합니다. 단조롭게. 하지만 스트리밍 복제가 다시 시작하면 복제 시작으로 되돌아갑니다. 위치, 일반적으로 WAL 파일의 시작 부분 현재 재생 위치를 포함합니다. 회복이 된 경우 완료되면 해당 값으로 정적으로 유지됩니다. 마지막 WAL 레코드가 수신되어 디스크에 동기화되었습니다. 회복. 스트리밍 복제가 비활성화된 경우 또는 아직 시작되지 않은 경우 함수는 NULL을 반환합니다.
pg_last_xlog_replay_location() 텍스트 다음 동안 재생된 마지막 트랜잭션 로그 위치 가져오기 회복. 복구가 아직 진행 중인 경우 단조롭게 증가합니다. 복구가 완료되었다면 이 값은 마지막 값에서 정적으로 유지됩니다. 해당 복구 중에 WAL 레코드가 적용되었습니다. 서버가 기능을 복구하지 않고 정상적으로 시작되었습니다. NULL을 반환합니다.

다음에 표시된 기능표 9-59데이터베이스 개체의 디스크 공간 사용량을 계산합니다.

표 9-59. 데이터베이스 개체 크기 함수

이름 반환 유형 설명
pg_column_size(아무거나) int 특정 값을 저장하는 데 사용된 바이트 수 (아마도 압축됨)
pg_total_relation_size(regclass) 비긴트 지정된 테이블이 사용하는 총 디스크 공간 모든 인덱스를 포함한 OID 또는 이름 및토스트데이터
pg_table_size(regclass) 비긴트 지정된 OID를 가진 테이블이 사용하는 디스크 공간 또는 이름, 인덱스 제외(단, TOAST 포함, 무료) 우주 지도 및 가시성 지도)
pg_indexes_size(regclass) 비긴트 다음에 연결된 인덱스가 사용하는 총 디스크 공간 지정된 OID 또는 이름이 있는 테이블
pg_database_size(oid) 비긴트 지정된 데이터베이스가 사용하는 디스크 공간 OID
pg_database_size(이름) 비긴트 지정된 데이터베이스가 사용하는 디스크 공간 이름
pg_tablespace_size(oid) bigint 지정된 테이블스페이스가 사용하는 디스크 공간 OID
pg_tablespace_size(이름) 비긴트 지정된 테이블스페이스가 사용하는 디스크 공간 이름
pg_relation_size(관계 regclass, 포크 텍스트) 비긴트 지정된 포크가 사용하는 디스크 공간('메인', 'fsm'또는'vm') 지정된 OID 또는 이름
pg_relation_size(관계 regclass) 비긴트 약칭pg_relation_size(..., '메인')
pg_size_pretty(비긴트) 텍스트 바이트 단위의 크기를 사람이 읽을 수 있는 형식으로 변환합니다. 크기 단위 포함

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

pg_total_relation_size수락 테이블이나 토스트 테이블의 OID 또는 이름을 반환하고 총계를 반환합니다. 관련된 모든 것을 포함하여 해당 테이블에 사용되는 디스크 공간 인덱스. 이 함수는 다음과 같습니다.pg_table_size + pg_indexes_size.

pg_table_sizeOID를 수락하거나 테이블 이름을 입력하고 해당 테이블에 필요한 디스크 공간을 반환합니다. 인덱스 제외. (TOAST 공간, 여유 공간 맵, 가시성 지도가 포함되어 있습니다.)

pg_indexes_sizeOID를 수락합니다 또는 테이블 이름을 입력하고 모든 테이블에서 사용하는 총 디스크 공간을 반환합니다. 해당 테이블에 연결된 인덱스입니다.

pg_database_size그리고pg_tablespace_sizeOID를 수락하세요 또는 데이터베이스나 테이블스페이스의 이름을 입력하고 총 디스크를 반환합니다. 그 안에서 사용되는 공간. 사용하려면pg_database_size, 반드시 있어야 합니다연결지정된 데이터베이스에 대한 권한 (기본적으로 부여됨) 사용하려면pg_tablespace_size, 반드시 있어야 합니다만들기지정된 테이블스페이스에 대한 권한, 현재 데이터베이스의 기본 테이블스페이스가 아닌 경우.

pg_relation_sizeOID를 수락합니다 또는 테이블, 인덱스 또는 토스트 테이블의 이름을 반환하고 온디스크를 반환합니다. 해당 관계의 한 포크 크기(바이트)입니다. (참고로 대부분의 경우 목적상 더 높은 수준의 기능을 사용하는 것이 더 편리합니다.pg_total_relation_size또는pg_table_size, 크기 합계 모든 포크의.) 하나의 인수로 메인 포크의 크기를 반환합니다. 관계의 데이터 포크. 두 번째 인수는 다음과 같이 제공될 수 있습니다. 검사할 포크를 지정하십시오.

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

  • 'fsm'크기를 반환합니다. 여유 공간 지도(참조섹션 54.3)가 관계와 연결되어 있습니다.

  • 'vm'크기를 반환합니다. 가시성 지도(참조와이즈 토토 : 문서 :)이 관계와 연결되어 있습니다.

pg_size_pretty다음에 사용할 수 있습니다. 다른 함수 중 하나의 결과 형식을 사람이 읽을 수 있는 방식으로 kB, MB, GB 또는 TB를 적절하게 사용합니다.

다음에 표시된 기능표 9-60다음과 연관된 특정 디스크 파일을 식별하는 데 도움을 줍니다. 데이터베이스 객체.

표 9-60. 데이터베이스 개체 위치 기능

이름 반환 유형 설명
pg_relation_filenode(관계 regclass) oid 지정된 관계의 파일 노드 번호 OID 또는 이름
pg_relation_filepath(관계 regclass) 텍스트 지정된 OID와 관계의 파일 경로 이름 또는 이름

pg_relation_filenode수락합니다 테이블, 인덱스, 시퀀스 또는 토스트 테이블의 OID 또는 이름 를 반환합니다."파일노드"번호 현재 할당되어 있습니다. 파일 노드는 기본 구성 요소입니다. 관계에 사용된 파일 이름(들)(참조섹션 54.1더 보기 정보). 대부분의 테이블에서 결과는 다음과 같습니다.pg_class.relfilenode, 그러나 특정 시스템 카탈로그의 경우relfilenode0이고 이것은 올바른 값을 얻으려면 함수를 사용해야 합니다. 기능 저장 공간이 없는 관계가 전달되면 NULL을 반환합니다. 보기와 같은 것입니다.

pg_relation_filepath비슷합니다 에pg_relation_filenode하지만 그건 전체 파일 경로 이름을 반환합니다(데이터베이스에 상대적). 클러스터의 데이터 디렉터리PGDATA)의 관계.

다음에 표시된 기능표 9-61서버를 호스팅하는 시스템의 파일에 대한 기본 액세스를 제공합니다. 데이터베이스 클러스터 디렉터리 내의 파일만 및log_directory접근할 수 있습니다. 사용 클러스터 디렉터리에 있는 파일의 상대 경로 및 경로 일치하는log_directory구성 로그 파일에 대한 설정입니다. 이 기능의 사용은 다음으로 제한됩니다. 슈퍼유저.

표 9-61. 일반 파일 액세스 기능

이름 반환 유형 설명
pg_ls_dir(dirname 텍스트) 텍스트 집합 디렉토리의 내용 나열
pg_read_file(파일 이름 텍스트, 오프셋 bigint, 길이 비긴트) 텍스트 텍스트 파일의 내용을 반환
pg_stat_file(파일 이름 텍스트) 기록 파일에 대한 정보 반환

pg_ls_dir모든 이름을 반환합니다. 특수 항목을 제외하고 지정된 디렉토리에"."그리고"..".

pg_read_file의 일부를 반환합니다. 주어진 위치에서 시작하는 텍스트 파일오프셋, 최대 반환길이바이트(파일 끝에 도달하면 더 적음) 먼저). 만일오프셋부정적입니다. 파일 끝을 기준으로 합니다.

pg_stat_file기록을 반환합니다. 파일 크기, 마지막으로 액세스한 타임스탬프, 마지막으로 수정된 내용 포함 타임스탬프, 마지막 파일 상태 변경 타임스탬프(Unix 플랫폼 해당), 파일 생성 타임스탬프(Windows만 해당) 및 a부울디렉토리인지 여부를 나타냅니다. 전형적인 사용법은 다음과 같습니다:

SELECT * FROM pg_stat_file('파일 이름');
SELECT (pg_stat_file('파일 이름')).수정;

다음에 표시된 기능표 9-62권고 잠금을 관리합니다. 올바른 사용에 대한 자세한 내용은 함수, 참조섹션 13.3.4.

표 9-62. 권고 잠금 기능

이름 반환 유형 설명
pg_advisory_lock( 비긴트) 무효 독점 자문 잠금 획득
pg_advisory_lock(키1 int, 키2 int) 공허 독점 자문 잠금 획득
pg_advisory_lock_shared( 비긴트) 무효 공유 권고 잠금 획득
pg_advisory_lock_shared(키1 int, 키2 int) 무효 공유 자문 잠금 획득
pg_try_advisory_lock( bigint) 부울 가능한 경우 독점 권고 잠금 획득
pg_try_advisory_lock(키1 int, 키2 int) 부울 가능한 경우 독점 권고 잠금 획득
pg_try_advisory_lock_shared( 비긴트) 부울 가능한 경우 공유 권고 잠금 획득
pg_try_advisory_lock_shared(키1 int, 키2 int) 부울 가능한 경우 공유 권고 잠금 획득
pg_advisory_unlock( 비긴트) 부울 독점적 권고 잠금 해제
pg_advisory_unlock(키1 int, 키2 int) 부울 독점적 권고 잠금 해제
pg_advisory_unlock_shared( 비긴트) 부울 공유 권고 잠금 해제
pg_advisory_unlock_shared(키1 int, 키2 int) 부울 공유 권고 잠금 해제
pg_advisory_unlock_all() 공허 현재 보유하고 있는 모든 권고 잠금을 해제합니다. 세션

pg_advisory_lock잠금 다음 중 하나로 식별할 수 있는 애플리케이션 정의 리소스 단일 64비트 키 값 또는 두 개의 32비트 키 값(이 두 개의 키 공간은 겹치지 않습니다). 키 유형은에 지정됩니다.pg_locks.objid. 다른 세션의 경우 이미 동일한 리소스에 대한 잠금을 보유하고 있는 경우 함수는 대기합니다. 리소스를 사용할 수 있을 때까지. 자물쇠는 독점적입니다. 여러 잠금 요청이 스택되므로 동일한 리소스가 세 번 잠겼으므로 세 번 잠금 해제해야 합니다. 다른 세션의 사용을 위해 공개되었습니다.

pg_advisory_lock_shared작동 와 동일pg_advisory_lock, 잠금을 요청하는 다른 세션과 공유할 수 있다는 점만 제외하면 공유 잠금. 전용 사물함만 잠겨 있습니다.

pg_try_advisory_lock비슷합니다 에pg_advisory_lock, 제외 함수는 잠금이 사용 가능해질 때까지 기다리지 않습니다. 그럴 것이다 즉시 잠금을 획득하고 반환하세요.또는 반환거짓만일 잠금을 즉시 획득할 수 없습니다.

pg_try_advisory_lock_shared다음과 동일하게 작동합니다pg_try_advisory_lock, 단, 다음을 시도하는 경우는 제외됩니다. 배타적 잠금이 아닌 공유 잠금을 획득합니다.

pg_advisory_unlock출시됩니다 이전에 획득한 독점 권고 잠금입니다. 돌아온다잠금이 성공적으로 이루어진 경우 출시되었습니다. 잠금이 유지되지 않은 경우 반환됩니다.거짓, 또한 SQL 경고는 다음과 같습니다. 서버에서 발생합니다.

pg_advisory_unlock_shared작동 와 동일pg_advisory_unlock, 단, 공유 권고 잠금을 해제하는 경우는 제외됩니다.

pg_advisory_unlock_all할 것이다 현재 세션이 보유하고 있는 모든 권고 잠금을 해제합니다. (이 함수는 클라이언트가 세션 종료 시 암시적으로 호출됩니다. 비정상적으로 연결이 끊어집니다.)