설문조사
PostgreSQL/PPAS 관련 듣고 싶은 교육은


총 게시물 94건, 최근 0 건
   

PL/pgSQL definer 와 invoker 권한

글쓴이 : PostgresDBA 날짜 : 2015-01-14 (수) 16:13 조회 : 7112
함수 생성시에 적어주는 옵션중 security invoker 와 security definer 가 있습니다.
각각의 의미는 다음과 같습니다.

CREATE FUNCTION 
...
SECURITY INVOKER  SECURITY DEFINER 

함수 호출시

1. 함수 생성자 권한으로 수행 - security definer
2. 함수 생성자가 아닌 호출자 권한으로 수행 - security invoker (디폴트)

--------------------------------------------------
오라클에서는 위 각각에 아래와 같이 대응됩니다. 서로 디폴트값이 다릅니다.
1. definer (디폴트)
2. current_user 

CREATE OR REPLACE FUNCTION
AUTHID DEFINER | CURRENT_USER
IS...

참고로 PPAS 에서는, ORACLE SYNTAX  로 함수/프로시져를 생성하면 이때는
오라클과 같은 디폴트(DEFINER)를 따릅니다.
ex) PPAS 에서만 존재하는 CREATE PROCEDURE 구문은 디폴트가 definer 권한 입니다.

   

postgresdba.com