지원되는 버전 :current (17)16 / 15 / 14 / 13
개발 버전 :Devel
지원되지 않은 버전 :12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3

45.5. 신뢰할 수 있고 신뢰할 수없는 pl/토토 베이

일반적으로 pl/토토 베이이 a로 설치됩니다.신뢰할 수있는프로그래밍 언어 이름pl토토 베이. 이 설정에서는 보안을 유지하기 위해 특정 토토 베이 작업이 비활성화됩니다.요구 사항use(외부 모듈의 경우). C 함수가 수행 할 수 있듯이 데이터베이스 서버 프로세스의 내부에 액세스하거나 서버 프로세스의 권한으로 OS 레벨 액세스를 얻는 방법은 없습니다.

경고

​​신뢰할 수있는 pl/토토 베이은 perl에 의존합니다opcode보안을 보존하기위한 모듈. 토토 베이문서모듈은 신뢰할 수있는 PL/PERL 사용 사례에 효과적이지 않습니다. 보안 요구가 해당 경고의 불확실성과 호환되지 않는 경우 실행을 고려하십시오공개에서 언어 pl토토 베이에 대한 사용 취소.

여기에 파일 시스템 작업이 허용되지 않기 때문에 작동하지 않는 함수의 예는 다음과 같습니다.

함수 만들기 badfunc ()는 정수를 $$로 반환합니다

금지 된 작업의 사용이 유효성 검사기에 의해 잡히기 때문에이 함수의 생성은 실패 할 것입니다.

때로는 제한되지 않은 토토 베이 기능을 작성하는 것이 바람직합니다. 예를 들어, 메일을 보내는 토토 베이 함수가 필요할 수 있습니다.신뢰할 수없는언어 (일반적으로pl/토토 베이u). 이 경우 전체 토토 베이 언어를 사용할 수 있습니다.Pl토토 베이u신뢰할 수없는 PL/PERL 변형을 선택합니다.

A 작가pl/토토 베이u함수는 데이터베이스 관리자로 로그인 한 사용자가 수행 할 수있는 모든 것을 수행 할 수 있기 때문에 함수가 원치 않는 작업을 수행 할 수 없도록 조심해야합니다. 데이터베이스 시스템을 통해 데이터베이스 슈퍼 사용자 만 신뢰할 수없는 언어로 기능을 생성 할 수 있습니다.

언어를 사용하여 슈퍼업자가 위의 함수를 생성 한 경우Pl토토 베이u, 실행이 성공합니다.

같은 방식으로, 언어에 지정된 경우 토토 베이에 작성된 익명 코드 블록은 제한된 작업을 사용할 수 있습니다Pl토토 베이u대신pl토토 베이, 그러나 발신자는 슈퍼업자 여야합니다.

note

whilepl/토토 베이함수는 각 SQL 역할에 대해 별도의 토토 베이 통역사에서 실행됩니다.pl/토토 베이u주어진 세션에서 실행 된 기능은 단일 토토 베이 통역사에서 실행됩니다 (pl/토토 베이함수). 이것은 허용pl/토토 베이u데이터를 자유롭게 공유 할 수있는 기능이지만 사이에 통신이 발생할 수 없습니다pl/토토 베이pl/토토 베이u기능.

note

Perl은 적절한 플래그로 구축되지 않으면 하나의 프로세스 내에서 여러 통역사를 지원할 수 없습니다.usemultiplicity또는useitHreads. (usemultiplicity실제로 스레드를 사용하지 않으면 선호됩니다. 자세한 내용은를 참조하십시오.토토 베이embedMan Page.) ifpl/토토 베이이 방법으로 구축되지 않은 토토 베이 사본과 함께 사용되면 세션 당 하나의 토토 베이 통역사 만 가질 수 있으므로 한 세션은 어느 쪽이든 실행할 수 있습니다.pl/토토 베이u함수 또는pl/토토 베이동일한 SQL 역할로 모두 호출되는 기능.

수정 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다.이 양식문서 문제를보고하려면