이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 41.9. 사설 토토 사이트 및 메시지버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

37.9. 롤 토토 및 메시지

다음을 사용하세요상승보고할 성명 메시지가 표시되고 롤 토토가 발생합니다.

상승레벨 '형식' [, 변수 [, ...]];

가능한 수준은디버그, 로그, 정보, 공지, 경고예외. 예외오류를 발생시키고 현재를 중단합니다. 거래; 다른 수준에서는 다른 메시지만 생성합니다. 우선 순위 수준. 특정 우선순위의 메시지가 클라이언트에 보고되거나, 서버 로그에 기록되거나, 둘 다 에 의해 제어됨log_min_messages그리고client_min_messages구성 변수. 참조사설 토토 : 문서 : 7.4 : 런타임 구성용 자세한 정보.

형식 문자열 내부,%이다 다음 선택적 인수의 문자열 표현으로 대체됩니다. 쓰기%%리터럴을 내보내다%. 현재 선택적 인수는 다음과 같아야 합니다. 표현식이 아닌 단순 변수여야 하며 형식은 다음과 같아야 합니다. 간단한 문자열 리터럴.

이 예에서 값은v_job_id다음을 대체합니다%문자열에서:

RAISE NOTICE ''cs_create_job(%) 호출 중'', v_job_id;

이 예는 주어진 롤 토토로 인해 거래를 중단합니다 메시지:

예외 발생 ''존재하지 않는 ID -- %'', user_id;

PostgreSQL이 없습니다 매우 똑똑한 예외 처리 모델. 파서가 실행될 때마다, 플래너/옵티마이저 또는 실행자는 명령문이 다음과 같이 결정될 수 없다고 결정합니다. 더 이상 처리되지 않으면 전체 거래가 중단되고 시스템은 다음 명령을 받기 위해 메인 루프로 다시 점프합니다. 클라이언트 애플리케이션.

오류 메커니즘에 연결하여 다음을 알 수 있습니다. 이런 일이 발생합니다. 하지만 현재로서는 실제로 무엇인지 알 수 없습니다. 중단이 발생했습니다(데이터 유형 형식 오류, 부동 소수점 오류, 구문 분석 오류 등). 그리고 데이터베이스 서버가 이 시점에서는 일관성이 없는 상태이므로 상위 실행 프로그램을 실행하거나 더 많은 명령을 실행하면 전체가 손상될 수 있습니다. 데이터베이스.

그래서 유일한 것은PL/pgSQL현재 실행 중 중단이 발생하면 발생합니다. 함수 또는 트리거 프로시저에 일부 필드를 추가하는 것입니다. 어떤 기능이 어디에 있는지 알려주는 메시지(줄 번호 및 유형 문) 오류가 발생했습니다. 오류가 항상 중지됩니다. 함수를 실행합니다.