| PostgreSQL 9.1.24 문서 | ||||
|---|---|---|---|---|
| 토토 커뮤니티 PostgreSQL : 문서 : 9.1 : 시스템 정보 기능 | 위로 | 9장. 함수 및 연산자 | PostgreSQL : 문서 : 9.1 : 롤 토토 함수 | |
테이블 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);
set_config
------------
떨어져서
(1행)
다음에 표시된 기능테이블 9-56다른 서버 프로세스에 제어 신호를 보냅니다. 사용 이 스포츠 토토 베트맨은 슈퍼유저에게만 제공됩니다.
표 9-56. 서버 신호 스포츠 토토 베트맨
| 이름 | 반환 유형 | 설명 |
|---|---|---|
pg_cancel_backend(pid int) |
부울 | 백엔드의 현재 쿼리 취소 |
pg_reload_conf() |
부울 | 서버 프로세스가 구성을 다시 로드하도록 함 파일 |
pg_rotate_logfile() |
부울 | 서버의 로그 파일 순환 |
pg_terminate_backend(pid int) |
부울 | 백엔드 종료 |
이러한 각 함수는 다음을 반환합니다.참성공한 경우거짓그렇지 않으면.
pg_cancel_backend그리고pg_terminate_backend신호 보내기
(SIGINT또는SIGTERM각각)을 백엔드 프로세스에
프로세스 ID로 식별됩니다. 활성 백엔드의 프로세스 ID는 다음과 같습니다.
다음에서 찾을 수 있습니다.procpid열pg_stat_activity보기 또는 작성자
다음을 나열합니다.포스트그레스프로세스
서버(사용 중psUnix 또는작업 관리자켜짐윈도우).
pg_reload_conf보냄SIGHUP서버에 신호를 보내고,
모든 서버에서 구성 파일을 다시 로드하게 함
프로세스.
pg_rotate_logfile신호를 보냅니다
로그 파일 관리자를 사용하여 즉시 새 출력 파일로 전환합니다. 이
내장된 로그 수집기가 실행 중일 때만 작동합니다.
그렇지 않으면 로그 파일 관리자 하위 프로세스가 없습니다.
다음에 표시된 기능테이블 9-57온라인 백업을 지원합니다. 이러한 기능은 할 수 없습니다 복구 중에 실행됩니다.
표 9-57. 백업 제어 스포츠 토토 베트맨
| 이름 | 반환 유형 | 설명 |
|---|---|---|
pg_create_restore_point(이름 텍스트) |
텍스트 | 복원 수행을 위해 명명된 지점 생성 (수퍼유저로 제한됨) |
pg_current_xlog_insert_location() |
텍스트 | 현재 트랜잭션 로그 삽입 위치 가져오기 |
pg_current_xlog_location() |
텍스트 | 현재 트랜잭션 로그 쓰기 위치 가져오기 |
pg_start_backup(라벨 텍스트
[, 빠르게
부울 ]) |
텍스트 | 온라인 백업 수행 준비(다음으로 제한됨) 슈퍼유저 또는 복제 역할) |
pg_stop_backup() |
텍스트 | 온라인 백업 수행 완료(다음으로 제한됨) 슈퍼유저 또는 복제 역할) |
pg_switch_xlog() |
텍스트 | 새 트랜잭션 로그 파일로 강제 전환 (수퍼유저로 제한됨) |
pg_xlog파일_이름(위치 텍스트) |
텍스트 | 트랜잭션 로그 위치 문자열을 파일로 변환 이름 |
pg_xlogfile_name_offset(위치 텍스트) |
텍스트, 정수 | 트랜잭션 로그 위치 문자열을 파일 이름으로 변환 및 파일 내 십진수 바이트 오프셋 |
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_create_restore_point생성
복구에 사용할 수 있는 명명된 트랜잭션 로그 레코드
대상으로 지정하고 해당 트랜잭션 로그 위치를 반환합니다.
그런 다음 주어진 이름을 다음과 함께 사용할 수 있습니다.복구_대상_이름복구가 진행될 지점을 지정합니다. 피하다
동일한 이름으로 여러 복원 지점을 생성합니다.
이름이 일치하는 첫 번째 항목에서 복구가 중지됩니다.
회복 대상.
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트랜잭션 로그 파일 이름만 추출합니다. 주어진 때
트랜잭션 로그 위치가 정확히 트랜잭션 로그 파일에 있습니다.
경계의 경우, 이 두 함수 모두 이전 경계의 이름을 반환합니다.
트랜잭션 로그 파일. 이는 일반적으로 원하는 동작입니다.
이전 이후 트랜잭션 로그 보관 동작 관리
파일은 현재 보관해야 하는 마지막 파일입니다.
이러한 스포츠 토토 베트맨의 올바른 사용법에 대한 자세한 내용은 참조PostgreSQL : 문서 : 9.1 : 연속 토토 꽁 머니 및 시점 토토 꽁 머니 (PITR).
다음에 표시된 기능테이블 9-58현재 상태에 대한 정보를 제공합니다. 대기. 이러한 기능은 복구 및 복구 중에 실행될 수 있습니다. 정상 실행 중입니다.
표 9-58. 복구 정보 기능
| 이름 | 반환 유형 | 설명 |
|---|---|---|
pg_is_in_recovery() |
부울 | 복구가 아직 진행 중이면 True입니다. |
pg_last_xlog_receive_location() |
텍스트 | 마지막 트랜잭션 로그 위치 수신 및 동기화 가져오기 스트리밍 복제를 통해 디스크에. 스트리밍하는 동안 복제가 진행 중이므로 증가합니다. 단조롭게. 복구가 완료되면 이 상태로 유지됩니다. 수신된 마지막 WAL 레코드의 값에서 정적이며 복구 중에 디스크에 동기화됩니다. 스트리밍 복제인 경우 비활성화되었거나 아직 시작되지 않은 경우 해당 기능은 NULL을 반환합니다. |
pg_last_xlog_replay_location() |
텍스트 | 다음 동안 재생된 마지막 트랜잭션 로그 위치 가져오기 회복. 복구가 아직 진행 중인 경우 단조롭게 증가합니다. 복구가 완료되었다면 이 값은 마지막 값에서 정적으로 유지됩니다. 해당 복구 중에 WAL 레코드가 적용되었습니다. 서버가 기능을 복구하지 않고 정상적으로 시작되었습니다. NULL을 반환합니다. |
pg_last_xact_replay_timestamp() |
시간대가 포함된 타임스탬프 | 다음 동안 재생된 마지막 거래의 타임스탬프를 가져옵니다. 회복. 커밋 또는 중단이 수행되는 시간입니다. 해당 트랜잭션에 대한 WAL 레코드가 생성되었습니다. 기본. 해당 기간 동안 거래가 재생되지 않은 경우 복구하면 이 함수는 NULL을 반환합니다. 그렇지 않은 경우 복구가 아직 진행 중이므로 증가할 것입니다. 단조롭게. 복구가 완료되면 이 값 마지막 거래의 가치는 그대로 유지됩니다. 복구 중에 적용됩니다. 서버가 완료되었을 때 복구하지 않고 정상적으로 시작되었습니다. 함수가 반환됩니다. NULL. |
다음에 표시된 기능테이블 9-59복구 진행 상황을 제어합니다. 이러한 기능은 다음과 같습니다. 복구 중에만 실행됩니다.
표 9-59. 복구 제어 스포츠 토토 베트맨
| 이름 | 반환 유형 | 설명 |
|---|---|---|
pg_is_xlog_replay_paused() |
부울 | 복구가 일시 중지된 경우 True입니다. |
pg_xlog_replay_pause() |
공허 | 복구를 즉시 일시중지합니다. |
pg_xlog_replay_resume() |
공허 | 일시 중지된 경우 복구를 다시 시작합니다. |
복구가 일시 중지되는 동안 더 이상 데이터베이스 변경은 이루어지지 않습니다. 적용되었습니다. 상시 대기 상태인 경우 모든 새 쿼리에는 동일한 내용이 표시됩니다. 데이터베이스의 일관된 스냅샷, 추가 쿼리 없음 복구가 재개될 때까지 충돌이 발생합니다.
스트리밍 복제가 비활성화된 경우 일시 중지된 상태가 될 수 있습니다. 문제없이 무기한 계속됩니다. 스트리밍하는 동안 복제가 진행 중입니다. WAL 레코드는 계속 복제됩니다. 결국 사용 가능한 디스크 공간을 채울 것입니다. 일시 중지 기간에 따라 WAL 비율이 달라집니다. 생성 및 사용 가능한 디스크 공간.
다음에 표시된 기능표 9-60데이터베이스 개체의 디스크 공간 사용량을 계산합니다.
표 9-60. 데이터베이스 개체 크기 함수
| 이름 | 반환 유형 | 설명 |
|---|---|---|
pg_column_size(아무거나) |
int | 특정 값을 저장하는 데 사용된 바이트 수 (아마도 압축됨) |
pg_database_size(oid) |
비긴트 | 지정된 데이터베이스가 사용하는 디스크 공간 OID |
pg_database_size(이름) |
bigint | 지정된 데이터베이스가 사용하는 디스크 공간 이름 |
pg_indexes_size(regclass) |
bigint | 다음에 연결된 인덱스가 사용하는 총 디스크 공간 지정된 테이블 |
pg_relation_size(관계 regclass,
포크 텍스트) |
bigint | 지정된 포크가 사용하는 디스크 공간('메인', 'fsm', 'vm'또는'초기화'31225_31270 |
pg_relation_size(관계 regclass) |
비긴트 | 약칭pg_relation_size(..., '메인') |
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_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'크기를 반환합니다. 여유 공간 지도(참조섹션 55.3)가 관계와 연결되어 있습니다.
'vm'크기를 반환합니다. 가시성 지도(참조토토 핫 : 문서 : 9)가 관계와 연결되어 있습니다.
'초기화'크기를 반환합니다. 초기화 포크(있는 경우)(참조섹션 55.5)과 연결됨 관계.
pg_size_pretty다음에 사용할 수 있습니다.
다른 함수 중 하나의 결과 형식을
사람이 읽을 수 있는 방식으로 kB, MB, GB 또는 TB를 적절하게 사용합니다.
테이블이나 인덱스에서 작동하는 위의 함수는 다음을 허용합니다.regclass인수, 이는 단순히 OID입니다. 테이블 또는 인덱스의pg_class시스템 카탈로그. OID를 직접 조회할 필요 없이, 그러나 그 이후로regclass데이터 유형 입력 변환기가 대신 작업을 수행합니다. 표만 쓰세요 리터럴처럼 보이도록 이름을 작은따옴표로 묶습니다. 일정하다. 일반 취급과의 호환성을 위해SQL이름, 문자열은 다음과 같습니다. 주위에 큰따옴표가 포함되어 있지 않으면 소문자로 변환됩니다. 테이블 이름입니다.
다음에 표시된 기능표 9-61다음과 연관된 특정 디스크 파일을 식별하는 데 도움을 줍니다. 데이터베이스 객체.
표 9-61. 데이터베이스 개체 위치 기능
| 이름 | 반환 유형 | 설명 |
|---|---|---|
pg_relation_filenode(관계 regclass) |
oid | 지정된 관계의 파일 노드 번호 |
pg_relation_filepath(관계 regclass) |
텍스트 | 지정된 관계의 파일 경로 이름 |
pg_relation_filenode수락합니다
테이블, 인덱스, 시퀀스 또는 토스트 테이블의 OID 또는 이름
를 반환합니다."파일노드"번호
현재 할당되어 있습니다. 파일 노드는 기본 구성 요소입니다.
관계에 사용된 파일 이름(들)(참조섹션 55.1더 보기
정보). 대부분의 테이블에서 결과는 다음과 같습니다.pg_class.relfilenode, 그러나 특정 시스템 카탈로그의 경우relfilenode은 0이고 이것은
올바른 값을 얻으려면 함수를 사용해야 합니다. 기능
저장 공간이 없는 관계가 전달되면 NULL을 반환합니다.
보기와 같은 것입니다.
pg_relation_filepath비슷합니다
에pg_relation_filenode하지만 그건
전체 파일 경로 이름을 반환합니다(데이터베이스에 상대적).
클러스터의 데이터 디렉터리PGDATA)의
관계.
다음에 표시된 기능표 9-62서버를 호스팅하는 시스템의 파일에 대한 기본 액세스를 제공합니다. 데이터베이스 클러스터 디렉터리 내의 파일만 및log_directory접근할 수 있습니다. 사용 클러스터 디렉터리에 있는 파일의 상대 경로 및 경로 일치하는log_directory구성 로그 파일에 대한 설정입니다. 이 기능의 사용은 다음으로 제한됩니다. 슈퍼유저.
표 9-62. 일반 파일 액세스 기능
| 이름 | 반환 유형 | 설명 |
|---|---|---|
pg_ls_dir(dirname
텍스트) |
텍스트 집합 | 디렉토리 내용 나열 |
pg_read_file(파일 이름 텍스트 [,
오프셋 비긴트, 길이
비긴트]) |
텍스트 | 텍스트 파일의 내용을 반환 |
pg_read_binary_file(파일 이름 텍스트 [,
오프셋 비긴트, 길이
비긴트]) |
바이테아 | 파일 내용 반환 |
pg_stat_file(파일 이름 텍스트) |
기록 | 파일에 대한 정보 반환 |
pg_ls_dir모든 이름을 반환합니다.
특수 항목을 제외하고 지정된 디렉토리에"."그리고"..".
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-63권고 잠금을 관리합니다. 올바른 사용에 대한 자세한 내용은 함수, 참조섹션 13.3.4.
표 9-63. 권고 잠금 기능
| 이름 | 반환 유형 | 설명 |
|---|---|---|
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, 자물쇠 제외,
획득한 경우 현재 종료 시 자동으로 해제됩니다.
거래이며 명시적으로 해제될 수 없습니다.