이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 38.6. 데이터베이스 로그인 토토 꽁 머니 트리거 예버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

38.5. 데이터베이스 로그인 스포츠 토토 사이트 트리거 예#

스포츠 토토 사이트 트리거는로그인이벤트는 사용자 로그인 기록, 연결 확인, 현재 상황에 따른 역할 할당 또는 세션 데이터 초기화에 유용할 수 있습니다. 모든 이벤트가 다음을 사용하여 트리거되는 것이 매우 중요합니다.로그인스포츠 토토 사이트는 쓰기를 수행하기 전에 데이터베이스가 복구 중인지 여부를 확인합니다. 대기 서버에 쓰면 액세스할 수 없게 됩니다.

다음 예는 이러한 옵션을 보여줍니다.

-- 테스트 테이블 및 역할 생성
CREATE TABLE user_login_log(
  "사용자" 텍스트,
  시간대가 포함된 "session_start" 타임스탬프
);
역할 만들기 day_worker;
역할 만들기 night_worker;

-- 트리거 함수 예시
함수 생성 또는 교체 init_session()
  반환 event_trigger 보안 정의자
  언어 plpgsql AS
$$
선언
  시간 정수 = EXTRACT('시간' FROM current_time, 시간대 'utc');
  Rec 부울;
시작
-- 1. 새벽 2시부터 4시 사이에는 로그인을 금지합니다.
만약 2시에서 4시 사이라면
  예외 발생 '로그인 금지';
종료하면;

-- 대기 서버에서는 아래 점검을 수행할 수 없으므로
-- 작업을 수행하기 전에 데이터베이스가 복구 중이 아닌지 확인하세요.
-- 작전.
SELECT pg_is_in_recovery() INTO Rec;
만약에 기록한다면
  반환;
종료하면;

-- 2. 몇 가지 역할을 할당합니다. 낮에는 day_worker 역할을 부여하고, 그렇지 않으면
-- night_worker 역할.
만약 8시에서 20시 사이라면
  EXECUTE 'REVOKE night_worker FROM' || quote_ident(세션_사용자);
  EXECUTE 'GRANT day_worker TO' || quote_ident(세션_사용자);
그 외
  EXECUTE 'REVOKE day_worker FROM' || quote_ident(세션_사용자);
  EXECUTE 'GRANT night_worker TO' || quote_ident(세션_사용자);
종료하면;

-- 3. 사용자 세션 데이터 초기화
CREATE TEMP TABLE session_storage (x 부동 소수점, y 정수);
ALTER TABLE session_storage OWNER TO session_user;

-- 4. 연결 시간을 기록하세요
INSERT INTO public.user_login_log VALUES(session_user, current_timestamp);

끝;
$$;

-- 트리거 정의
이벤트 트리거 생성 init_session
  ON 로그인
  함수 실행 init_session();
ALTER EVENT TRIGGER init_session 항상 활성화;