PL/토토 캔은 기능 작성자가 C 언어로 가지고있는 대부분의 기능을 제공하며 몇 가지 제한 사항과 토토 캔에 사용할 수있는 강력한 문자열 처리 라이브러리가 추가되었습니다
하나의 강력한좋은제한은 토토 캔 통역사의 컨텍스트 안전 내에서 모든 것이 실행된다는 것입니다. Safe 토토 캔의 제한된 명령 세트 외에도 SPI를 통해 데이터베이스에 액세스하고를 통해 데이터베이스에 액세스 할 수있는 몇 가지 명령 만 사용할 수 있습니다.elog ()
. PL/토토 캔은 데이터베이스 서버의 내부에 액세스하거나 권한에 따라 OS 레벨 액세스를 얻는 방법을 제공하지 않습니다.PostgreSQLC 함수가 수행 할 수있는 서버 프로세스. 따라서 비전지가없는 데이터베이스 사용자는이 언어를 사용하도록 신뢰할 수 있습니다.
다른 주목할만한 구현 제한은 토토 캔 기능을 사용하여 새로운 데이터 유형에 대한 입력/출력 함수를 생성 할 수 없다는 것입니다.
때로는 안전한 토토 캔에 국한되지 않은 토토 캔 기능을 작성하는 것이 바람직합니다. 예를 들어 이메일을 보내는 토토 캔 기능을 원할 수 있습니다.pl/토토 캔호출pl/토토 캔u
(신뢰할 수없는 토토 캔의 경우). 이것은 전체 토토 캔 통역사가 사용된다는 것을 제외하고는 정확히 동일한 언어입니다.ifpl/토토 캔u사용되면 신뢰할 수없는 절차 언어로 설치해야합니다따라서 데이터베이스 슈퍼 사용자만이 함수를 생성 할 수 있도록합니다. A의 작가pl/토토 캔u함수는 데이터베이스 관리자로 로그인 한 사용자가 수행 할 수있는 모든 것을 수행 할 수 있기 때문에 함수가 원치 않는 작업을 수행 할 수 없도록주의해야합니다..
공유 객체 코드pl/토토 캔andpl/토토 캔u통화 핸들러는 자동으로 구축 및 설치되어PostgreSQL라이브러리 디렉토리 설치 절차의 구성 단계에 TCL 지원이 지정된 경우. 설치하려면pl/토토 캔및/또는pl/토토 캔u특정 데이터베이스에서 사용확장 생성
명령, 예를 들어확장 생성 pltcl
또는확장 생성 pltclu
.