| 젠 토토 : 문서 : 9.6 : 젠 토토 | |||
|---|---|---|---|
| 스포츠 토토 베트맨 PostgreSQL : 문서 : 9.6 : 시스템 정보 기능 | PostgreSQL : 문서 : 9.6 : 토토 결과 및 연산자 | 9장. 함수 및 연산자 | PostgreSQL : 문서 : 9.6 : 토토 베이 함수 |
이 섹션에 설명된 스포츠 토토은 다음을 제어하고 모니터링하는 데 사용됩니다.PostgreSQL설치.
표 9-76런타임 구성 매개변수를 쿼리하고 변경하는 데 사용할 수 있는 함수를 표시합니다.
표 9-76. 구성 설정 스포츠 토토
| 이름 | 반환 유형 | 설명 |
|---|---|---|
현재_설정(설정_이름 [, missing_ok ]) |
텍스트 | 현재 설정 값 가져오기 |
set_config(설정_이름, new_value, is_local) |
텍스트 | 매개변수 설정 및 새 값 반환 |
함수현재_설정설정의 현재 값을 산출설정_이름. 에 해당합니다.SQL명령표시. 예:
SELECT current_setting('날짜 스타일');
현재_설정
-----------------
ISO, MDY
(1행)
이름이 지정된 설정이 없는 경우설정_이름, 현재_설정다음이 아니면 오류가 발생합니다missing_ok제공되었으며참.
set_config매개변수 설정설정_이름에new_value. 만약에is_localis참, 새 값은 현재 거래에만 적용됩니다. 현재 세션에 새 값을 적용하려면 다음을 사용하세요.거짓대신. 이 함수는 SQL 명령에 해당합니다.세트. 예:
SELECT set_config('log_statement_stats', 'off', false);
세트_구성
------------
끄다
(1행)다음에 표시된 스포츠 토토표 9-77다른 서버 프로세스에 제어 신호를 보냅니다. 이러한 스포츠 토토의 사용은 기본적으로 수퍼유저로 제한되어 있지만 다음 권한을 통해 다른 사람에게도 액세스 권한을 부여할 수 있습니다.그랜트, 명시된 예외가 있음.
표 9-77. 서버 신호 스포츠 토토
| 이름 | 반환 유형 | 설명 |
|---|---|---|
pg_cancel_backend(pid int) |
부울 | 백엔드의 현재 쿼리를 취소합니다. 이는 호출 역할이 백엔드가 취소되거나 호출 역할이 부여된 역할의 구성원인 경우에도 허용됩니다.pg_signal_backend그러나 슈퍼유저만 슈퍼유저 백엔드를 취소할 수 있습니다. |
pg_reload_conf() |
부울 | 서버 프로세스가 구성 파일을 다시 로드하도록 함 |
pg_rotate_logfile() |
부울 | 서버의 로그 파일 순환 |
pg_terminate_backend(pid int) |
부울 | 백엔드를 종료합니다. 이는 호출 역할이 백엔드가 종료되거나 호출 역할이 부여된 역할의 구성원인 경우에도 허용됩니다.pg_signal_backend, 그러나 슈퍼유저만 슈퍼유저 백엔드를 종료할 수 있습니다. |
이러한 각 함수는 다음을 반환합니다.참성공하면거짓그렇지 않으면.
pg_cancel_backend그리고pg_terminate_backend신호 보내기 (SIGINT또는SIGTERM각각)을 프로세스 ID로 식별된 백엔드 프로세스에 추가합니다. 활성 백엔드의 프로세스 ID는 다음에서 찾을 수 있습니다.pid열pg_stat_activity보기 또는 목록을 통해포스트그레서버의 프로세스(사용psUnix 또는작업 관리자켜짐윈도우). 활성 백엔드의 역할은 다음에서 찾을 수 있습니다.사용자 이름열pg_stat_activity보기.
pg_reload_conf보냄SIGHUP서버에 신호를 보내 모든 서버 프로세스에서 구성 파일을 다시 로드합니다.
pg_rotate_logfile로그 파일 관리자에게 즉시 새 출력 파일로 전환하라는 신호를 보냅니다. 이는 내장 로그 수집기가 실행 중일 때만 작동합니다. 그렇지 않으면 로그 파일 관리자 하위 프로세스가 없기 때문입니다.
다음에 표시된 스포츠 토토표 9-78온라인 백업을 지원합니다. 복구 중에는 이러한 스포츠 토토을 실행할 수 없습니다(비독점 제외).pg_start_backup, 비독점pg_stop_backup, pg_is_in_backup, pg_backup_start_time그리고pg_xlog_location_diff).
표 9-78. 백업 제어 스포츠 토토
| 이름 | 반환 유형 | 설명 |
|---|---|---|
pg_create_restore_point(이름 텍스트) |
pg_lsn | 복원을 수행하기 위한 명명된 지점 생성(기본적으로 수퍼유저로 제한되지만 다른 사용자에게 EXECUTE 권한을 부여하여 스포츠 토토을 실행할 수 있음) |
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 | 온라인 백업 수행 준비(기본적으로 슈퍼유저로 제한되지만 다른 사용자에게는 EXECUTE 권한을 부여하여 해당 스포츠 토토을 실행할 수 있음) |
pg_stop_backup() |
pg_lsn | 독점 온라인 백업 수행 완료(기본적으로 수퍼유저로 제한되지만 다른 사용자에게는 EXECUTE 권한을 부여하여 해당 스포츠 토토을 실행할 수 있음) |
pg_stop_backup(독점 부울) |
레코드 집합 | 독점 또는 비독점 온라인 백업 수행 완료(기본적으로 수퍼유저로 제한되지만 다른 사용자에게 EXECUTE 권한을 부여하여 해당 스포츠 토토을 실행할 수 있음) |
pg_is_in_backup() |
부울 | 온라인 독점 백업이 아직 진행 중이면 True입니다. |
pg_backup_start_time() |
시간대가 포함된 타임스탬프 | 진행 중인 온라인 독점 백업의 시작 시간을 가져옵니다. |
pg_switch_xlog() |
pg_lsn | 새 트랜잭션 로그 파일로 강제 전환(기본적으로 수퍼유저로 제한되지만 다른 사용자에게 EXECUTE 권한을 부여하여 함수를 실행할 수 있음) |
pg_xlog파일_이름(위치 pg_lsn) |
텍스트 | 트랜잭션 로그 위치 문자열을 파일 이름으로 변환 |
pg_xlogfile_name_offset(위치 pg_lsn) |
텍스트, 정수 | 트랜잭션 로그 위치 문자열을 파일 이름 및 파일 내 십진 바이트 오프셋으로 변환 |
pg_xlog_location_diff(위치 pg_lsn, 위치 pg_lsn) |
숫자 | 두 트랜잭션 로그 위치 간의 차이 계산 |
pg_start_backup백업에 대한 임의의 사용자 정의 레이블을 허용합니다. (일반적으로 이는 백업 덤프 파일이 저장될 이름입니다.) 배타적 모드에서 사용될 때 이 함수는 백업 레이블 파일(backup_label) 및 해당 링크가 있는 경우pg_tblspc/디렉토리, 테이블스페이스 맵 파일(테이블스페이스_맵)을 데이터베이스 클러스터의 데이터 디렉터리에 넣고 체크포인트를 수행한 다음 백업의 시작 트랜잭션 로그 위치를 텍스트로 반환합니다. 사용자는 이 결과값을 무시해도 되지만, 유용할 경우를 대비하여 제공합니다. 비독점 모드에서 사용되는 경우 이러한 파일의 내용은 대신pg_stop_backup함수이며 호출자가 백업에 기록해야 합니다.
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_stop_backup보관이 활성화된 경우 WAL이 보관될 때까지 기다립니다.
대기 중pg_stop_backup기다리지 않고 즉시 반환되므로 필요한 모든 WAL 세그먼트가 보관되었는지 확인하는 것이 중요합니다. 기본에 대한 쓰기 활동이 낮은 경우 다음을 실행하는 것이 유용할 수 있습니다.pg_switch_xlog세그먼트 스위치를 트리거하기 위해 기본에.
기본에서 실행되면 이 함수는 미리 쓰기 로그 아카이브 영역에 백업 기록 파일도 생성합니다. 기록 파일에는 다음과 같은 레이블이 포함됩니다.pg_start_backup, 백업의 시작 및 종료 트랜잭션 로그 위치, 백업의 시작 및 종료 시간. 반환 값은 백업의 종료 트랜잭션 로그 위치입니다(다시 무시할 수 있음). 종료 위치를 기록한 후 현재 트랜잭션 로그 삽입 지점이 자동으로 다음 트랜잭션 로그 파일로 진행되므로 종료 트랜잭션 로그 파일을 즉시 보관하여 백업을 완료할 수 있습니다.
pg_switch_xlog은 다음 트랜잭션 로그 파일로 이동하여 현재 파일을 보관할 수 있도록 합니다(연속 보관을 사용한다고 가정). 반환 값은 방금 완료된 트랜잭션 로그 파일 내의 종료 트랜잭션 로그 위치 + 1입니다. 마지막 트랜잭션 로그 전환 이후 트랜잭션 로그 활동이 없는 경우,pg_switch_xlog아무 것도 하지 않고 현재 사용 중인 트랜잭션 로그 파일의 시작 위치를 반환합니다.
pg_create_restore_point복구 대상으로 사용할 수 있는 명명된 트랜잭션 로그 레코드를 생성하고 해당 트랜잭션 로그 위치를 반환합니다. 그런 다음 주어진 이름을 다음과 함께 사용할 수 있습니다.recovery_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());
파일 이름 | 파일_오프셋
-------------+---------------
00000001000000000000000D | 4039624
(1행)
마찬가지로,pg_xlogfile_name트랜잭션 로그 파일 이름만 추출합니다. 지정된 트랜잭션 로그 위치가 정확히 트랜잭션 로그 파일 경계에 있는 경우 두 함수 모두 이전 트랜잭션 로그 파일의 이름을 반환합니다. 이전 파일이 현재 보관해야 하는 마지막 파일이므로 이는 일반적으로 트랜잭션 로그 보관 동작을 관리하기 위해 바람직한 동작입니다.
pg_xlog_location_diff두 트랜잭션 로그 위치 간의 바이트 차이를 계산합니다. 다음과 함께 사용할 수 있습니다.pg_stat_replication또는 다음에 표시된 일부 스포츠 토토표 9-78복제 지연을 가져옵니다.
이러한 스포츠 토토의 올바른 사용법에 대한 자세한 내용은 다음을 참조하세요.토토 사이트 추천 PostgreSQL : 문서 : 9.6 : 연속 보관 및 시점 복구 (PITR).
다음에 표시된 스포츠 토토표 9-79대기 상태에 대한 정보를 제공합니다. 이러한 스포츠 토토은 복구 중 및 정상 실행 중 모두 실행될 수 있습니다.
표 9-79. 복구 정보 스포츠 토토
| 이름 | 반환 유형 | 설명 |
|---|---|---|
pg_is_in_recovery() |
부울 | 복구가 아직 진행 중이면 True입니다. |
pg_last_xlog_receive_location() |
pg_lsn | 스트리밍 복제를 통해 마지막 트랜잭션 로그 위치를 수신하고 디스크에 동기화합니다. 스트리밍 복제가 진행되는 동안 이는 단조롭게 증가합니다. 복구가 완료되면 이는 수신된 마지막 WAL 레코드 값으로 정적으로 유지되고 복구 중에 디스크에 동기화됩니다. 스트리밍 복제가 비활성화되었거나 아직 시작되지 않은 경우 함수는 NULL을 반환합니다. |
pg_last_xlog_replay_location() |
pg_lsn | 복구 중 재생된 마지막 트랜잭션 로그 위치를 가져옵니다. 복구가 아직 진행 중인 경우 이는 단조롭게 증가합니다. 복구가 완료되면 이 값은 해당 복구 중에 적용된 마지막 WAL 레코드 값으로 정적으로 유지됩니다. 복구하지 않고 서버가 정상적으로 시작되면 함수는 NULL을 반환합니다. |
pg_last_xact_replay_timestamp() |
시간대가 포함된 타임스탬프 | 복구 중 재생된 마지막 트랜잭션의 타임스탬프를 가져옵니다. 이는 해당 트랜잭션에 대한 커밋 또는 중단 WAL 레코드가 기본에서 생성된 시간입니다. 복구 중에 재생된 트랜잭션이 없으면 이 함수는 NULL을 반환합니다. 그렇지 않고 복구가 계속 진행 중인 경우 이는 단조롭게 증가합니다. 복구가 완료된 경우 이 값은 해당 복구 중에 적용된 마지막 트랜잭션의 값으로 정적으로 유지됩니다. 복구하지 않고 서버가 정상적으로 시작되면 함수는 NULL을 반환합니다. |
다음에 표시된 스포츠 토토표 9-80복구 진행 상황을 제어합니다. 이 스포츠 토토은 복구 중에만 실행될 수 있습니다.
표 9-80. 복구 제어 스포츠 토토
| 이름 | 반환 유형 | 설명 |
|---|---|---|
pg_is_xlog_replay_paused() |
부울 | 복구가 일시 중지된 경우 True입니다. |
pg_xlog_replay_pause() |
공허 | 복구를 즉시 일시 중지합니다(기본적으로 수퍼유저로 제한되지만 다른 사용자에게 EXECUTE 권한을 부여하여 스포츠 토토을 실행할 수 있음). |
pg_xlog_replay_resume() |
무효 | 일시 중지된 경우 복구를 다시 시작합니다(기본적으로 수퍼유저로 제한되지만 다른 사용자에게 EXECUTE 권한을 부여하여 스포츠 토토을 실행할 수 있음). |
복구가 일시 중지되는 동안 더 이상 데이터베이스 변경 사항이 적용되지 않습니다. 상시 대기 상태인 경우 모든 새 쿼리에는 데이터베이스의 동일한 일관된 스냅샷이 표시되며 복구가 재개될 때까지 더 이상 쿼리 충돌이 생성되지 않습니다.
스트리밍 복제가 비활성화된 경우 일시 중지된 상태는 문제 없이 무기한 지속될 수 있습니다. 스트리밍 복제가 진행되는 동안 WAL 레코드는 계속 수신되며, 이는 일시 중지 기간, WAL 생성 속도 및 사용 가능한 디스크 공간에 따라 결국 사용 가능한 디스크 공간을 채울 것입니다.
PostgreSQL데이터베이스 세션이 스냅샷을 동기화할 수 있도록 허용합니다. 에이스냅샷스냅샷을 사용하는 트랜잭션에 표시되는 데이터를 결정합니다. 두 개 이상의 세션이 데이터베이스에서 동일한 콘텐츠를 확인해야 하는 경우 동기화된 스냅샷이 필요합니다. 두 세션이 독립적으로 트랜잭션을 시작하는 경우 두 세션 실행 사이에 세 번째 트랜잭션이 커밋될 가능성이 항상 있습니다.거래 시작한 세션에서는 해당 트랜잭션의 효과를 확인하고 다른 세션에서는 확인하지 않도록 명령합니다.
이 문제를 해결하려면,PostgreSQL거래를 허용합니다내보내기사용 중인 스냅샷입니다. 수출 거래가 열려 있는 한 다른 거래도 가능합니다.가져오기스냅샷을 볼 수 있으므로 첫 번째 트랜잭션에서 보는 것과 정확히 동일한 데이터베이스 보기가 보장됩니다. 그러나 커밋되지 않은 트랜잭션에 의해 수행된 변경 사항과 마찬가지로 이러한 트랜잭션 중 하나에 의해 수행된 데이터베이스 변경 사항은 다른 트랜잭션에 표시되지 않습니다. 따라서 트랜잭션은 기존 데이터와 관련하여 동기화되지만 자체 변경 사항에 대해서는 정상적으로 작동합니다.
스냅샷은 다음을 사용하여 내보내집니다.pg_export_snapshot함수, 다음에 표시됨표 9-81, 다음으로 가져옴PostgreSQL : 문서 : 9.6 : 토토 설정명령.
함수pg_export_snapshot현재 스냅샷을 저장하고 다음을 반환합니다.텍스트스냅샷을 식별하는 문자열입니다. 이 문자열은 스냅샷을 가져오려는 클라이언트에 데이터베이스 외부로 전달되어야 합니다. 스냅샷은 이를 내보낸 트랜잭션이 끝날 때까지만 가져올 수 있습니다. 필요한 경우 트랜잭션은 둘 이상의 스냅샷을 내보낼 수 있습니다. 그렇게 하는 것은 다음 경우에만 유용합니다.읽어 커밋됨트랜잭션, 이후반복 가능한 읽기및 더 높은 격리 수준에서는 트랜잭션이 전체 수명 동안 동일한 스냅샷을 사용합니다. 트랜잭션이 스냅샷을 내보낸 후에는 준비할 수 없습니다.PostgreSQL : 문서 : 9.6 : 거래 배트맨 토토.
참조PostgreSQL : 문서 : 9.6 : 토토 설정내보낸 스냅샷을 사용하는 방법에 대한 자세한 내용.
다음에 표시된 스포츠 토토표 9-82복제 스포츠 토토을 제어하고 상호작용하는 데 사용됩니다. 보다섹션 26.2.5, 섹션 26.2.6및43사설 토토19기본 스포츠 토토에 대한 정보를 확인하세요. 복제 원본 스포츠 토토의 사용은 슈퍼유저로 제한됩니다. 복제 슬롯에 대한 스포츠 토토 사용은 슈퍼유저 및 다음을 가진 사용자로 제한됩니다.복제특권.
이러한 스포츠 토토 중 다수는 복제 프로토콜에 동일한 명령을 가지고 있습니다. 보다PostgreSQL : 문서 : 9.6 : 사설 토토 복제 프로토콜.
다음에 설명된 스포츠 토토섹션 9.26.3, 섹션 9.26.4및섹션 9.26.5복제에도 관련이 있습니다.
표 9-82. 복제SQL스포츠 토토
| 스포츠 토토 | 반환 유형 | 설명 |
|---|---|---|
pg_create_physical_replication_slot(slot_name 이름 [, immediately_reserve 부울 ]) |
(slot_name 이름, xlog_position pg_lsn) | 이름이 새로운 물리적 복제 슬롯을 생성합니다.slot_name. 선택적인 두 번째 매개변수인 경우,사실, 다음을 지정합니다.LSN이 복제 슬롯은 즉시 예약되어야 합니다. 그렇지 않으면LSN은 스트리밍 복제 클라이언트의 첫 번째 연결 시 예약되어 있습니다. 물리적 슬롯의 변경 사항 스트리밍은 스트리밍 복제 프로토콜을 통해서만 가능합니다. — 참조PostgreSQL : 문서 : 9.6 : 사설 토토 복제 프로토콜. 이 스포츠 토토은 복제 프로토콜 명령에 해당합니다.CREATE_REPLICATION_SLOT ... 물리적. |
pg_drop_replication_slot(slot_name 이름) |
공허 | 이름이 지정된 물리적 또는 논리적 복제 슬롯을 삭제합니다.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_lsn그리고upto_nchanges이 NULL이면 논리적 디코딩은 WAL이 끝날 때까지 계속됩니다. 만약에upto_lsn는 NULL이 아니며, 디코딩에는 지정된 LSN 이전에 커밋된 트랜잭션만 포함됩니다. 만약에upto_nchanges는 NULL이 아니며, 디코딩을 통해 생성된 행 수가 지정된 값을 초과하면 디코딩이 중지됩니다. 그러나 반환되는 실제 행 수는 더 클 수 있습니다. 이 제한은 각 새 트랜잭션 커밋을 디코딩할 때 생성된 행을 추가한 후에만 확인되기 때문입니다. |
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, 데이터 바이테아) | 다음과 같이 행동합니다pg_logical_slot_get_changes()함수(변경 사항은 다음과 같이 반환된다는 점 제외)바이테아. |
pg_logical_slot_peek_binary_changes(slot_name 이름, upto_lsn pg_lsn, upto_nchanges int, VARIADIC옵션 텍스트[]) |
(위치 pg_lsn, xid xid, 데이터 바이테아) | 다음과 같이 행동합니다pg_logical_slot_get_changes()함수, 변경 사항은 다음과 같이 반환된다는 점 제외)바이테아그리고 변경사항은 소비되지 않습니다. 즉, 향후 호출에서 다시 반환됩니다. |
pg_replication_origin_create(노드_이름 텍스트) |
oid | 주어진 외부 이름으로 복제 원본을 생성하고 여기에 할당된 내부 ID를 반환합니다. |
pg_replication_origin_drop(노드_이름 텍스트) |
공허 | 관련 재생 진행 상황을 포함하여 이전에 생성된 복제 원본을 삭제합니다. |
pg_replication_origin_oid(노드_이름 텍스트) |
oid | 복제 출처를 이름으로 조회하고 내부 ID를 반환합니다. 해당 복제 원본이 없으면 오류가 발생합니다. |
pg_replication_origin_session_setup(노드_이름 텍스트) |
공허 | 현재 세션을 지정된 원본에서 재생 중인 것으로 표시하여 재생 진행 상황을 추적할 수 있습니다. 사용pg_replication_origin_session_reset되돌리려면. 이전 출처가 구성되지 않은 경우에만 사용할 수 있습니다. |
pg_replication_origin_session_reset() |
공허 | 효과 취소pg_replication_origin_session_setup(). |
pg_replication_origin_session_is_setup() |
부울 | 현재 세션에 복제 원본이 구성되어 있습니까? |
pg_replication_origin_session_progress(플러시 부울) |
pg_lsn | 현재 세션에 구성된 복제 원본에 대한 재생 위치를 반환합니다. 매개변수플러시해당 로컬 트랜잭션이 디스크에 플러시되었는지 여부를 결정합니다. |
pg_replication_origin_xact_setup(origin_lsn pg_lsn, origin_timestamp 타임스탬프tz) |
무효 | 현재 트랜잭션을 주어진 시점에 커밋된 트랜잭션을 재생하는 것으로 표시LSN및 타임스탬프. 이전에 다음을 사용하여 복제 원본을 구성한 경우에만 호출할 수 있습니다.pg_replication_origin_session_setup(). |
pg_replication_origin_xact_reset() |
공허 | 효과 취소pg_replication_origin_xact_setup(). |
pg_replication_origin_advance(노드_이름 텍스트, pos pg_lsn) |
공허 | 주어진 노드의 복제 진행을 주어진 위치로 설정합니다. 이는 주로 초기 위치를 설정하거나 구성 변경 후 새 위치를 설정하는 데 유용합니다. 이 스포츠 토토을 부주의하게 사용하면 데이터가 일관되지 않게 복제될 수 있다는 점에 유의하세요. |
pg_replication_origin_progress(노드_이름 텍스트, 플러시 부울) |
pg_lsn | 주어진 복제 원본에 대한 재생 위치를 반환합니다. 매개변수플러시해당 로컬 트랜잭션이 디스크에 플러시되었는지 여부를 결정합니다. |
pg_logical_emit_message(트랜잭션 부울, 접두사 텍스트, 내용 텍스트) |
pg_lsn | 텍스트 논리적 디코딩 메시지를 내보냅니다. 이는 WAL을 통해 일반 메시지를 논리적 디코딩 플러그인에 전달하는 데 사용될 수 있습니다. 매개변수트랜잭션메시지가 현재 트랜잭션의 일부여야 하는지 아니면 즉시 작성하고 논리적 디코딩이 레코드를 읽는 즉시 디코딩되어야 하는지를 지정합니다. 그만큼접두사는 논리적 디코딩 플러그인이 흥미로운 메시지를 쉽게 인식하기 위해 사용하는 텍스트 접두어입니다. 그만큼내용메시지 텍스트입니다. |
pg_logical_emit_message(트랜잭션 부울, 접두사 텍스트, 내용 바이테아) |
pg_lsn | 이진 논리적 디코딩 메시지를 방출합니다. 이는 WAL을 통해 일반 메시지를 논리적 디코딩 플러그인에 전달하는 데 사용될 수 있습니다. 매개변수트랜잭션메시지가 현재 트랜잭션의 일부여야 하는지 또는 논리적 디코딩이 레코드를 읽는 즉시 즉시 작성하고 디코딩해야 하는지를 지정합니다. 그만큼접두사는 흥미로운 메시지를 쉽게 인식하기 위해 논리적 디코딩 플러그인에서 사용하는 텍스트 접두사입니다. 그만큼내용은 메시지의 바이너리 콘텐츠입니다. |
다음에 표시된 스포츠 토토표 9-83데이터베이스 개체의 디스크 공간 사용량을 계산합니다.
표 9-83. 데이터베이스 개체 크기 함수
| 이름 | 반환 유형 | 설명 |
|---|---|---|
pg_column_size(모든) |
int | 특정 값을 저장하는 데 사용되는 바이트 수(압축 가능) |
pg_database_size(oid) |
비긴트 | 지정된 OID를 가진 데이터베이스가 사용하는 디스크 공간 |
pg_database_size(이름) |
비긴트 | 지정된 이름을 가진 데이터베이스가 사용하는 디스크 공간 |
pg_indexes_size(regclass) |
비긴트 | 지정된 테이블에 연결된 인덱스가 사용하는 총 디스크 공간 |
pg_relation_size(관계 regclass, 포크 텍스트) |
비긴트 | 지정된 포크가 사용하는 디스크 공간('메인', 'fsm', 'vm'또는'초기화'51167_51202 |
pg_relation_size(관계 regclass) |
비긴트 | 약칭pg_relation_size(..., '메인') |
pg_size_bytes(텍스트) |
비긴트 | 크기 단위를 사용하여 사람이 읽을 수 있는 형식의 크기를 바이트로 변환합니다. |
pg_size_pretty(비긴트) |
텍스트 | 64비트 정수로 표현된 바이트 단위의 크기를 크기 단위가 있는 사람이 읽을 수 있는 형식으로 변환합니다. |
pg_size_pretty(숫자) |
텍스트 | 숫자 값으로 표현된 바이트 단위의 크기를 크기 단위가 있는 사람이 읽을 수 있는 형식으로 변환합니다. |
pg_table_size(regclass) |
비긴트 | 지정된 테이블에서 사용하는 디스크 공간, 인덱스 제외(단, TOAST, 여유 공간 맵 및 가시성 맵 포함) |
pg_tablespace_size(oid) |
비긴트 | 지정된 OID를 가진 테이블스페이스가 사용하는 디스크 공간 |
pg_tablespace_size(이름) |
비긴트 | 지정된 이름을 가진 테이블스페이스가 사용하는 디스크 공간 |
pg_total_relation_size(regclass) |
비긴트 | 모든 인덱스를 포함하여 지정된 테이블이 사용하는 총 디스크 공간 및토스트데이터 |
pg_column_size개별 데이터 값을 저장하는 데 사용되는 공간을 표시합니다.
pg_total_relation_sizeOID 또는 테이블이나 토스트 테이블의 이름을 승인하고 연관된 모든 인덱스를 포함하여 해당 테이블에 사용된 총 디스크 공간을 반환합니다. 이 함수는 다음과 같습니다.pg_table_size + pg_indexes_size.
pg_table_size테이블의 OID 또는 이름을 승인하고 인덱스를 제외하고 해당 테이블에 필요한 디스크 공간을 반환합니다. (TOAST 공간, 여유 공간 맵, 가시성 맵이 포함되어 있습니다.)
pg_indexes_size테이블의 OID 또는 이름을 승인하고 해당 테이블에 연결된 모든 인덱스가 사용하는 총 디스크 공간을 반환합니다.
pg_database_size그리고pg_tablespace_sizeOID 또는 데이터베이스나 테이블스페이스의 이름을 승인하고 거기에서 사용된 총 디스크 공간을 반환합니다. 사용하려면pg_database_size, 있어야 합니다.연결54459_54537pg_tablespace_size, 반드시 있어야 합니다생성지정된 테이블스페이스에 대한 권한(현재 데이터베이스의 기본 테이블스페이스가 아닌 경우).
pg_relation_size테이블, 인덱스 또는 토스트 테이블의 OID 또는 이름을 승인하고 해당 관계의 한 포크에 대한 디스크상의 크기를 바이트 단위로 반환합니다. (대부분의 경우 상위 수준 스포츠 토토을 사용하는 것이 더 편리합니다.pg_total_relation_size또는pg_table_size, 모든 분기의 크기를 합산합니다.) 하나의 인수를 사용하면 관계의 기본 데이터 분기 크기를 반환합니다. 검사할 포크를 지정하기 위해 두 번째 인수를 제공할 수 있습니다.
'메인'관계의 기본 데이터 포크 크기를 반환합니다.
'fsm'여유 공간 지도의 크기를 반환합니다(참조섹션 65.3)가 관계와 연결되어 있습니다.
'vm'가시성 지도의 크기를 반환합니다(참조PostgreSQL : 문서 : 9.6 : 토토 핫 맵)이 관계와 연결되어 있습니다.
'초기화'관계와 관련된 초기화 포크의 크기를 반환합니다(있는 경우).
pg_size_pretty바이트, kB, MB, GB 또는 TB를 적절하게 사용하여 사람이 읽을 수 있는 방식으로 다른 함수 중 하나의 결과 형식을 지정하는 데 사용할 수 있습니다.
pg_size_bytes사람이 읽을 수 있는 형식의 문자열에서 크기(바이트)를 가져오는 데 사용할 수 있습니다. 입력의 단위는 바이트, kB, MB, GB 또는 TB일 수 있으며 대소문자를 구분하지 않고 구문 분석됩니다. 단위를 지정하지 않으면 바이트로 간주됩니다.
참고:함수에 사용되는 단위 kB, MB, GB 및 TB
pg_size_pretty그리고pg_size_bytes10의 거듭제곱이 아닌 2의 거듭제곱을 사용하여 정의되므로 1kB는 1024바이트이고 1MB는 1024입니다.2= 1048576바이트 등.
테이블이나 인덱스에서 작동하는 위의 함수는 다음을 허용합니다.regclass인수, 이는 단순히 테이블 또는 인덱스의 OID입니다.pg_class시스템 카탈로그. 그러나 OID를 직접 찾을 필요는 없습니다.regclass데이터 유형의 입력 변환기가 대신 작업을 수행합니다. 리터럴 상수처럼 보이도록 테이블 이름을 작은따옴표로 묶어서 작성하세요. 일반 취급과의 호환성을 위해SQL이름, 테이블 이름 주위에 큰따옴표가 포함되어 있지 않으면 문자열은 소문자로 변환됩니다.
기존 개체를 나타내지 않는 OID가 위 함수 중 하나에 인수로 전달되면 NULL이 반환됩니다.
다음에 표시된 스포츠 토토표 9-84데이터베이스 개체와 연관된 특정 디스크 파일을 식별하는 데 도움을 줍니다.
표 9-84. 데이터베이스 개체 위치 스포츠 토토
| 이름 | 반환 유형 | 설명 |
|---|---|---|
pg_relation_filenode(관계 regclass) |
oid | 지정된 관계의 파일 노드 번호 |
pg_relation_filepath(관계 regclass) |
텍스트 | 지정된 관계의 파일 경로 이름 |
pg_filenode_relation(테이블스페이스 oid, 파일 노드 oid) |
regclass | 주어진 테이블스페이스 및 파일 노드와 연관된 관계 찾기 |
pg_relation_filenode테이블, 인덱스, 시퀀스 또는 토스트 테이블의 OID 또는 이름을 승인하고 다음을 반환합니다."파일노드"현재 할당된 번호입니다. 파일 노드는 관계에 사용되는 파일 이름의 기본 구성 요소입니다(참조)PostgreSQL : 문서 : 9.6 : 데이터베이스 스포츠 토토 사이트 레이아웃자세한 정보는). 대부분의 테이블에서 결과는 다음과 같습니다.pg_class.relfilenode, 그러나 특정 시스템 카탈로그의 경우relfilenode은 0이며 올바른 값을 얻으려면 이 함수를 사용해야 합니다. 뷰와 같이 저장 공간이 없는 관계를 전달하면 함수는 NULL을 반환합니다.
pg_relation_filepath다음과 유사함pg_relation_filenode, 그러나 전체 파일 경로 이름(데이터베이스 클러스터의 데이터 디렉터리를 기준으로 함)을 반환합니다.PGDATA) 관계의.
pg_filenode_relation의 반대입니다pg_relation_filenode. 주어진 a"테이블스페이스"OID 및 a"파일노드", 연관된 관계의 OID를 반환합니다. 데이터베이스의 기본 테이블스페이스에 있는 테이블의 경우 테이블스페이스를 0으로 지정할 수 있습니다.
표 9-85인덱스 유지 관리 작업에 사용할 수 있는 스포츠 토토을 표시합니다. 복구 중에는 이러한 스포츠 토토을 실행할 수 없습니다. 이 스포츠 토토의 사용은 수퍼유저와 해당 인덱스의 소유자로 제한됩니다.
표 9-85. 인덱스 유지관리 스포츠 토토
| 이름 | 반환 유형 | 설명 |
|---|---|---|
brin_summarize_new_values(색인 regclass) |
정수 | 아직 요약되지 않은 페이지 범위 요약 |
gin_clean_pending_list(색인 regclass) |
비긴트 | GIN 보류 목록 항목을 기본 색인 구조로 이동 |
brin_summarize_new_valuesBRIN 인덱스의 OID 또는 이름을 승인하고 인덱스를 검사하여 현재 인덱스로 요약되지 않은 기본 테이블의 페이지 범위를 찾습니다. 그러한 범위에 대해서는 테이블 페이지를 스캔하여 새로운 요약 인덱스 튜플을 생성합니다. 색인에 삽입된 새 페이지 범위 요약의 수를 반환합니다.
gin_clean_pending_listGIN 인덱스의 OID 또는 이름을 승인하고 해당 인덱스의 항목을 기본 GIN 데이터 구조로 대량 이동하여 지정된 인덱스의 보류 목록을 정리합니다. 보류 목록에서 제거된 페이지 수를 반환합니다. 인수가 다음을 사용하여 작성된 GIN 인덱스인 경우 주의하세요.빠른 업데이트옵션이 비활성화되면 정리가 발생하지 않으며 반환 값은 0입니다. 인덱스에 보류 목록이 없기 때문입니다. 참조하세요섹션 63.4.1그리고PostgreSQL : 문서 : 9.6 : 진 팁 및 롤 토토보류 목록에 대한 자세한 내용 및빠른 업데이트옵션.
다음에 표시된 스포츠 토토표 9-86서버를 호스팅하는 시스템의 파일에 대한 기본 액세스를 제공합니다. 데이터베이스 클러스터 디렉터리 내의 파일만 및log_directory접근할 수 있습니다. 클러스터 디렉터리에 있는 파일의 상대 경로와 일치하는 경로를 사용하세요.log_directory로그 파일 구성 설정. 이 스포츠 토토의 사용은 슈퍼유저로 제한됩니다.
표 9-86. 일반 파일 액세스 스포츠 토토
| 이름 | 반환 유형 | 설명 |
|---|---|---|
pg_ls_dir(dirname 텍스트 [, missing_ok 부울, include_dot_dirs 부울]) |
텍스트 집합 | 디렉토리의 내용을 나열합니다. |
pg_read_file(파일 이름 텍스트 [, 오프셋 비긴트, 길이 비긴트 [, missing_ok 부울] ]) |
텍스트 | 텍스트 파일의 내용을 반환합니다. |
pg_read_binary_file(파일 이름 텍스트 [, 오프셋 비긴트, 길이 비긴트 [, missing_ok 부울] ]) |
바이테아 | 파일의 내용을 반환합니다. |
pg_stat_file(파일 이름 텍스트[, missing_ok 부울]) |
기록 | 파일에 대한 정보를 반환합니다. |
이 모든 스포츠 토토은 선택사항을 취합니다.missing_ok매개변수는 파일이나 디렉토리가 존재하지 않을 때의 동작을 지정합니다. 만약에참, 함수는 NULL을 반환합니다(예외pg_ls_dir, 빈 결과 세트를 반환함). 만약에거짓, 오류가 발생합니다. 기본값은거짓.
pg_ls_dir지정된 디렉토리에 있는 모든 파일(및 디렉토리 및 기타 특수 파일)의 이름을 반환합니다. 그만큼include_dot_dirs여부를 나타냄"."그리고".."이 결과 세트에 포함됩니다. 기본값은 제외하는 것입니다(거짓), 하지만 다음과 같은 경우에는 이를 포함하는 것이 유용할 수 있습니다.missing_okis참, 존재하지 않는 디렉토리와 빈 디렉토리를 구별합니다.
pg_read_file주어진 위치에서 시작하여 텍스트 파일의 일부를 반환합니다.오프셋, 최대 반환길이바이트(파일 끝에 먼저 도달하면 더 적음). 만약에오프셋은 음수이며 파일 끝을 기준으로 합니다. 만약에오프셋그리고길이생략되면 전체 파일이 반환됩니다. 파일에서 읽은 바이트는 서버 인코딩에서 문자열로 해석됩니다. 해당 인코딩에서 유효하지 않으면 오류가 발생합니다.
pg_read_binary_file다음과 유사함pg_read_file, 단, 결과는 다음과 같습니다.바이테아값; 따라서 인코딩 확인이 수행되지 않습니다. 와 결합하여convert_from함수, 이 함수는 지정된 인코딩으로 파일을 읽는 데 사용할 수 있습니다.
SELECT Convert_from(pg_read_binary_file('file_in_utf8.txt'), 'UTF8');
pg_stat_file파일 크기, 마지막으로 액세스한 타임스탬프, 마지막으로 수정한 타임스탬프, 마지막 파일 상태 변경 타임스탬프(Unix 플랫폼에만 해당), 파일 생성 타임스탬프(Windows에만 해당) 및 a를 포함하는 레코드를 반환합니다.부울디렉토리인지 여부를 나타냅니다. 일반적인 사용법은 다음과 같습니다:
SELECT * FROM pg_stat_file('파일 이름');
SELECT (pg_stat_file('파일 이름')).수정;다음에 표시된 스포츠 토토표 9-87권고 잠금을 관리합니다. 이러한 스포츠 토토의 올바른 사용에 대한 자세한 내용은 다음을 참조하세요.섹션 13.3.5.
표 9-87. 권고 잠금 스포츠 토토
| 이름 | 반환 유형 | 설명 |
|---|---|---|
pg_advisory_lock(키 비긴트) |
무효 | 독점 세션 수준 권고 잠금 획득 |
pg_advisory_lock(키1 int, 키2 int) |
공허 | 독점 세션 수준 권고 잠금 획득 |
pg_advisory_lock_shared(키 비긴트) |
무효 | 공유 세션 수준 권고 잠금 획득 |
pg_advisory_lock_shared(키1 int, 키2 int) |
공허 | 공유 세션 수준 권고 잠금 획득 |
pg_advisory_unlock(키 비긴트) |
부울 | 독점 세션 수준 권고 잠금 해제 |
pg_advisory_unlock(키1 int, 키2 int) |
부울 | 독점 세션 수준 권고 잠금 해제 |
pg_advisory_unlock_all() |
무효 | 현재 세션이 보유한 모든 세션 수준 권고 잠금 해제 |
pg_advisory_unlock_shared(키 비긴트) |
부울 | 공유 세션 수준 권고 잠금 해제 |
pg_advisory_unlock_shared(키1 int, 키2 int) |
부울 | 공유 세션 수준 권고 잠금 해제 |
pg_advisory_xact_lock(키 비긴트) |
무효 | 독점적인 거래 수준 자문 잠금 획득 |
pg_advisory_xact_lock(키1 int, 키2 int) |
공허 | 독점적인 거래 수준 자문 잠금 획득 |
pg_advisory_xact_lock_shared(키 비긴트) |
무효 | 공유 트랜잭션 수준 자문 잠금 획득 |
pg_advisory_xact_lock_shared(키1 int, 키2 int) |
공허 | 공유 트랜잭션 수준 자문 잠금 획득 |
pg_try_advisory_lock(키 비긴트) |
부울 | 가능한 경우 독점 세션 수준 권고 잠금 획득 |
pg_try_advisory_lock(키1 int, 키2 int) |
부울 | 가능한 경우 독점 세션 수준 권고 잠금 획득 |
pg_try_advisory_lock_shared(키 비긴트) |
부울 | 가능한 경우 공유 세션 수준 권고 잠금 획득 |
pg_try_advisory_lock_shared(키1 int, 키2 int) |
부울 | 가능한 경우 공유 세션 수준 권고 잠금 획득 |
pg_try_advisory_xact_lock(키 비긴트) |
부울 | 가능한 경우 독점 거래 수준 권고 잠금 획득 |
pg_try_advisory_xact_lock(키1 int, 키2 int) |
부울 | 가능한 경우 독점 거래 수준 권고 잠금 획득 |
pg_try_advisory_xact_lock_shared(키 비긴트) |
부울 | 가능한 경우 공유 트랜잭션 수준 권고 잠금 획득 |
pg_try_advisory_xact_lock_shared(키1 int, 키2 int) |
부울 | 가능한 경우 공유 트랜잭션 수준 권고 잠금 획득 |
pg_advisory_lock단일 64비트 키 값 또는 두 개의 32비트 키 값으로 식별할 수 있는 애플리케이션 정의 리소스를 잠급니다(이 두 키 공간은 겹치지 않습니다). 다른 세션이 이미 동일한 리소스 식별자에 대한 잠금을 보유하고 있는 경우 이 함수는 리소스를 사용할 수 있을 때까지 기다립니다. 자물쇠는 독점적입니다. 여러 잠금 요청이 스택되므로 동일한 리소스가 세 번 잠긴 경우 다른 세션에서 사용할 수 있도록 해제하려면 세 번 잠금 해제해야 합니다.
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현재 세션이 보유하고 있는 모든 세션 수준 권고 잠금을 해제합니다. (이 함수는 클라이언트가 비정상적으로 연결을 끊더라도 세션 종료 시 암시적으로 호출됩니다.)
pg_advisory_xact_lock다음과 동일하게 작동합니다pg_advisory_lock, 단, 잠금은 현재 트랜잭션이 끝나면 자동으로 해제되며 명시적으로 해제할 수 없습니다.
pg_advisory_xact_lock_shared다음과 동일하게 작동합니다pg_advisory_lock_shared, 단, 잠금은 현재 트랜잭션이 끝나면 자동으로 해제되며 명시적으로 해제할 수 없습니다.
pg_try_advisory_xact_lock다음과 동일하게 작동합니다pg_try_advisory_lock, 단, 잠금을 획득한 경우 현재 트랜잭션이 끝나면 자동으로 해제되며 명시적으로 해제할 수 없습니다.
pg_try_advisory_xact_lock_shared다음과 동일하게 작동합니다pg_try_advisory_lock_shared, 단, 잠금을 획득한 경우 현재 트랜잭션이 끝나면 자동으로 해제되며 명시적으로 해제할 수 없습니다.