메시지를 보고하고 올리려면 RAISE 문을 사용하십시오. 범퍼카 토토.
상승레벨 '형식' [, 변수 [...]];
  가능한 수준은디버그(다음을 쓰세요
  서버 로그에 메시지를 보냅니다),로그(쓰기
  더 높은 우선순위로 서버 로그에 메시지를 보냅니다),정보, 공지사항그리고경고(서버에 메시지를 쓰세요
  각각 더 높은 값을 기록하여 클라이언트에 보냅니다.
  우선순위) 및예외(올리기
  오류가 발생하고 현재 트랜잭션이 중단됩니다. 오류 메시지 여부
  특정 우선순위의 내용이 클라이언트에 보고되고 다음 주소로 작성됩니다.
  서버 로그 또는 둘 다에 의해 제어됩니다.SERVER_MIN_MESSAGES그리고CLIENT_MIN_MESSAGES구성 변수. 참조PostgreSQL 관리자 안내서용
  자세한 정보.
형식 문자열 내부,%이다 다음 선택적 인수의 외부 표현으로 대체됩니다. 쓰기%%리터럴을 내보내다%. 현재 선택적 인수는 다음과 같아야 합니다. 표현식이 아닌 단순 변수여야 하며 형식은 다음과 같아야 합니다. 간단한 문자열 리터럴.
예:
RAISE NOTICE ''cs_create_job(%) 호출 중'',v_job_id;
이 예에서는 v_job_id 값이 다음을 대체합니다.%문자열에.
예외 발생 ''존재하지 않는 ID -- %'',user_id;
이것은 주어진 범퍼카 토토로 인해 거래가 중단됩니다 메시지.
포스트그레SQL이 없습니다 매우 똑똑한 예외 처리 모델. 파서가 실행될 때마다, 플래너/옵티마이저 또는 실행자는 명령문이 다음과 같이 결정될 수 없다고 결정합니다. 더 이상 처리되지 않으면 전체 거래가 중단되고 시스템은 다음 쿼리를 얻기 위해 메인 루프로 다시 점프합니다. 클라이언트 애플리케이션에서.
오류 메커니즘에 연결하여 알 수 있습니다. 이런 일이 일어난다는 것. 하지만 현재로서는 무엇인지 알 수 없습니다. 실제로 중단이 발생했습니다(입력/출력 변환 오류, 부동 소수점 오류, 구문 분석 오류). 그리고 다음이 가능합니다. 현재 데이터베이스 백엔드는 일관성이 없는 상태이므로 상위 실행기로 돌아가거나 추가 명령을 실행하면 전체 데이터베이스를 손상시킵니다.
그래서 유일한 것은PL/pgSQL현재 다음과 같은 경우가 발생합니다. 함수 또는 트리거 프로시저 실행 중 중단은 다음과 같습니다. 추가로 작성하기 위해공지레벨 어떤 함수와 어디에 있는지 알려주는 로그 메시지(줄 번호 및 진술 유형) 이런 일이 일어났습니다. 오류가 항상 중지됩니다. 함수를 실행합니다.