All thing of the world!

Postgresql pg_advisory_unlock 설명 : 포스트그레스큐엘 함수 본문

IT/Postgresql DBMS

Postgresql pg_advisory_unlock 설명 : 포스트그레스큐엘 함수

WorldSeeker 2021. 4. 15. 10:53

1. 함수의 목적

   

    Postgresql pg_advisory_lock 함수는 입력인수로 지정한 키에 해당되는 row에 세션레벨의 배타적(exclusive) Advisory Lock을 해제한다. 함수 사용시 출력되는 결과값은 성공시 true, 실패시 false를 출력한다.  

* Advisory Lock 이란 Postgresql DB 시스템 레벨의 Lock이 아닌 사용자 혹은 어플리케이션에서 설정하는 lock이며 lock의 설정 및 해제책임은 사용자 혹은 어플리케이션에 있다. 

* 공유(shred) Lock 이란 lock이 설정된 대상은 lock이 풀릴때까지 쓰기는 금지되고, 읽기만 허용

* 배타적(exclusive) Lock이란 lock이 설정된 대상은 lock이 풀릴때까지 읽기와 쓰기 모두 금지



 

2. 샘플을 통한 개념 퀵뷰

 

    SELECT pg_advisory_unlock(id) FROM foo WHERE id = 12345;

 

    pg_advisory_unlock

    ----------------------

    true

 

 

3. 사용방법

 

    pg_advisory_unlock ( key bigint )

    pg_advisory_unlock ( key1 integer, key2 integer 

    

4. 함수 PARAMETER 설명

 

[key]

Advisory Lock을 해제하고자하는 bigint, integer 타입의 키를 지정한다.

 

 

5. 다양한 샘플 표현

 

1) example 테이블의 idx='1'인 row에 Advisory Lock을 해재한다.

 

SELECT pg_advisory_unlock(idx) FROM example e2 WHERE idx = 1; 

    

    pg_advisory_unlock

    ----------------------

    true

 

 

 Posgresql 내장함수 모음 : atotw.tistory.com/category/IT/Postgresql%20DBMS

Comments