토토 사이트 트리거는로그인이벤트는 사용자 로그인 기록, 연결 확인 및 현재 상황에 따른 역할 할당 또는 세션 데이터 초기화에 유용할 수 있습니다. 모든 이벤트가 다음을 사용하여 트리거되는 것이 매우 중요합니다.로그인토토 사이트는 쓰기를 수행하기 전에 데이터베이스가 복구 중인지 여부를 확인합니다. 대기 서버에 쓰면 액세스할 수 없게 됩니다.
다음 예는 이러한 옵션을 보여줍니다.
-- 테스트 테이블 및 역할 생성
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 항상 활성화;
문서에서 올바르지 않은 내용을 발견하면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.