일반적으로 PL/Perl은 다음과 같이 설치됩니다."와이즈 토토 수 있는"이름이 지정된 프로그래밍 언어plperl. 이 설정에서 특정 Perl 작업은 다음과 같습니다. 보안을 유지하기 위해 비활성화되었습니다. 일반적으로 다음과 같은 작업은 환경과 상호작용하는 것은 제한되어 있습니다. 이 파일 핸들 작업을 포함합니다.요구및사용(용 외부 모듈). 내부에 접근할 수 있는 방법은 없습니다. 데이터베이스 백엔드 프로세스를 수행하거나 의 권한포스트그레SQL사용자 ID, C 함수와 마찬가지로 가능합니다. 따라서 권한이 없는 데이터베이스는 사용자는 이 언어를 사용하도록 허용될 수 있습니다.
다음은 작동하지 않는 기능의 예입니다. 보안상의 이유로 파일 시스템 작업은 허용되지 않습니다.
CREATE FUNCTION badfunc()는 정수를 '로 반환합니다.
open(TEMP, "/tmp/badfile");
TEMP "찾았습니다!\n"을 인쇄합니다.
1을 반환합니다.
' 언어 plperl;
함수 생성은 성공하지만 실행 중입니다. 그렇지 않을 것이다.
때로는 Perl 함수를 작성하는 것이 바람직할 때도 있습니다. 제한됨 --- 예를 들어 Perl 함수를 원할 수 있습니다. 메일을 보냅니다. 이러한 경우를 처리하기 위해 PL/Perl을 설치할 수도 있습니다. 으로"와이즈 토토 수 없음"언어(보통 전화함PL/PerlU). 이 경우 전체 Perl 언어를 사용할 수 있습니다. 만약createlang프로그램을 설치하는 데 사용됩니다. 언어, 언어 이름plperlu할 것이다 와이즈 토토 수 없는 PL/Perl 변형을 선택하세요.
a의 작가PL/PerlU함수는 다음 작업을 수행하는 데 사용할 수 없도록 주의해야 합니다. 원하지 않는 모든 일을 할 수 있기 때문입니다. 데이터베이스 관리자로 로그인한 사용자가 수행할 수 있습니다. 데이터베이스 시스템에서는 데이터베이스 수퍼유저만 허용합니다. 신뢰할 수 없는 언어로 함수를 만듭니다.
위 함수가 슈퍼유저에 의해 다음을 사용하여 생성된 경우 언어plperlu, 실행은 성공했습니다.