Postgresql pg_advisory_xact_lock 설명 : 포스트그레스큐엘 함수
1. 함수의 목적
Postgresql pg_advisory_xact_lock 함수는 입력인수로 지정한 키에 해당되는 row에 트랜잭션 레벨의 배타(exclusive) Advisory Lock을 건다. 함수 사용시 출력되는 결과값은 없다. 이 함수 대신 pg_try_advisory_xact_lock을 사용하면 결과값으로 성공시 'true', 실패시 'false'를 반환 받을 수 있다.
* Advisory Lock 이란 Postgresql DB 시스템 레벨의 Lock이 아닌 사용자 혹은 어플리케이션에서 설정하는 lock이며 lock의 설정 및 해제책임은 사용자 혹은 어플리케이션에 있다.
* 공유(shred) Lock 이란 lock이 설정된 대상은 lock이 풀릴때까지 쓰기는 금지되고, 읽기만 허용
* 배타적(exclusive) Lock이란 lock이 설정된 대상은 lock이 풀릴때까지 읽기와 쓰기 모두 금지
2. 샘플을 통한 개념 퀵뷰
SELECT pg_advisory_xact_lock (12345);
pg_advisory_xact_lock
----------------------
3. 사용방법
pg_advisory_xact_lock ( key bigint )
pg_advisory_xact_lock ( key1 integer, key2 integer )
4. 함수 PARAMETER 설명
[key]
Advisory Lock을 걸고자 하는 bigint, integer 타입의 키를 지정한다.
5. 다양한 샘플 표현
▶▶ Posgresql 내장함수 모음 : atotw.tistory.com/category/IT/Postgresql%20DBMS