DBMS_ALERT

개요

DBMS_ALERT은 알림을 등록하고, 보내고, 받을 수 있는 기능을 지원하는 패키지입니다.

함수 / 프로시저
반환 타입
설명

REGISTER(name)

n/a

기다릴 ALERT을 등록하는 프로시저입니다.

REMOVE(name)

n/a

등록된 ALERT을 제거하는 프로시저입니다.

REMOVEALL

n/a

등록된 모든 ALERT을 제거하는 프로시저입니다. - PostgreSQL Version 15 이상부터 사용 가능합니다.

SIGNAL(name, message)

n/a

ALERT을 발생시켜 이를 기다리고 있는 세션들을 깨워주는 프로시저이다.

WAITANY(name OUT, message OUT, status OUT, timeout)

n/a

어떠한 종류든 내가 등록한 ALERT을 기다리는 프로시저입니다. - PostgreSQL Version 15 이상부터 사용 가능합니다.

WAITONE(name, message OUT, status OUT, timeout)

n/a

특정 ALERT을 기다리는 프로시저입니다.


권한

설치는 super user에 이루어져야 하고 관리자가 DBMS_ALERT 스키마 접근 권한 부여한 유저만 접근 가능합니다.


구성

본 절에서는 DBMS_ALERT 패키지에서 제공하는 프로시저를 알파벳 순으로 설명합니다.

상수

이름
타입
설명

MAXWAIT

INTEGER

86400000

알림을 기다릴 수 있는 최대 시간입니다.(1000일, 사실상 영원합니다.)

REGISTER

기다릴 ALERT을 등록하는 프로시저입니다. 등록된 ALERT은 REGISTER 프로시저를 수행한 세션에서만 유효하다. 중복해서 등록할 필요는 없습니다.(무시됩니다.)

다른 세션에서 ALERT을 기다리려면 새로 등록해야 합니다.

프로토타입

파라미터

파라미터
설명

name

등록/기다릴 ALERT의 이름입니다.

예제

REMOVE

등록된 ALERT을 제거하는 프로시저입니다. 이 프로시저는 프로시저를 수행하는 세션에만 영향을 줍니다. 즉, 다른 세션에서 등록한 동일 이름에 대해서는 영향을 주지 않습니다. 등록되지 않은 ALERT을 REMOVE 하려고 하면 에러가 발생합니다.

프로토타입

파라미터

파라미터
설명

name

제거할 ALERT의 이름입니다.

예제

REMOVEALL

등록된 모든 ALERT을 제거하는 프로시저입니다. 이 프로시저는 프로시저를 수행하는 세션에만 영향을 줍니다. 즉, 다른 세션에서 등록한 동일 이름에 대해서는 영향을 주지 않습니다.

  • PostgreSQL Version 15 이상부터 사용 가능합니다.

프로토타입

예제

SIGNAL

ALERT을 발생시켜 이를 기다리고 있는 세션들을 깨워주는 프로시저입니다.

프로토타입

파라미터

파라미터
설명

name

발생시킬 ALERT의 이름입니다.

message

함께 전달할 메시지입다.

예제

WAITANY

어떠한 종류든 내가 등록한 ALERT을 기다리는 프로시저입니다. 세션에서 이전에 등록했던 ALERT이 발생한 경우 깨어납니다. 또한 타임아웃이 지나면 깨어날 수 있습니다. 특정 ALERT을 받아서 깨어나도 해당 ALERT이 자동으로 REMOVE 되지 않습니다.

  • PostgreSQL Version 15 이상부터 사용 가능합니다.

프로토타입

파라미터

파라미터
설명

name

WAITANY 프로시저가 깨어나도록 한 ALERT의 이름이다. 타임아웃으로 깨어난 경우 값이 없습니다.

message

WAITANY 프로시저가 깨어나도록 한 ALERT와 함께 전달된 메시지입니다. 타임아웃으로 깨어난 경우 값이 없습니다.

status

1 : 타임아웃으로 깨어난 경우입니다. 0 : ALERT이 발생해서 깨어난 경우입니다.

timeout

얼마나 기다릴지 설정하는 값입니다. (단위: seconds)

예제

WAITONE

특정 ALERT를 기다리는 프로시저이전에 등록했던 ALERT만 기다릴 수 있으며, 등록하지 않은 ALERT를 지정하는 경우 에러가 발생합니다. 또한 timeout이 지나면 깨어날 수 있습니다. 특정 ALERT를 받아서 깨어나도 해당 ALERT이 자동으로 REMOVE 되지 않습니다.

프로토타입

파라미터

파라미터
설명

name

기다릴 ALERT의 이름입니다.

message

ALERT와 함께 전달된 메시지입니다.

타임아웃으로 깨어난 경우 값이 없습니다.

status

1 : 타임아웃으로 깨어난 경우입니다.

0 : ALERT가 발생해서 깨어난 경우입니다.

timeout

얼마나 기다릴지 설정하는 값입니다. (단위: seconds)

예제

Last updated