알 수 없음명령PL/토토 캔은 로드 가능한 절차적 언어입니다.PostgreSQL다음을 가능하게 하는 데이터베이스 시스템 함수를 작성하고 트리거하는 데 사용되는 Tcl 언어 절차.
이 패키지는 원래 Jan Wieck에 의해 작성되었습니다.
PL/토토 캔은 함수 작성자가 가진 대부분의 기능을 제공합니다. 일부 제한사항을 제외하고는 C 언어로 작성되었습니다.
좋은 제한은 모든 것이
안전한 Tcl 인터프리터. 제한된 명령 세트 외에도
안전한 Tcl에 액세스하려면 몇 가지 명령만 사용할 수 있습니다.
SPI를 통해 데이터베이스를 생성하고 다음을 통해 메시지를 생성합니다.elog(). 내부에 접근할 수 있는 방법이 없습니다.
데이터베이스 백엔드의 또는 아래에서 OS 수준 액세스를 얻기 위해
의 권한PostgreSQL사용자 ID, C 함수와 마찬가지로 가능합니다. 따라서 비특권자라면 누구나
데이터베이스 사용자는 이 언어를 사용하도록 허용될 수 있습니다.
다른 구현 제한은 토토 캔 절차가 새 데이터에 대한 입력/출력 기능을 생성하는 데 사용할 수 없습니다. 유형.
때때로 다음과 같은 Tcl 함수를 작성하는 것이 바람직할 수 있습니다. 안전한 Tcl로 제한되지 않음 --- 예를 들어 메일을 보내는 Tcl 함수입니다. 이러한 사건을 처리하기 위해 의 변형PL/토토 캔부름PL/토토 캔U(신뢰할 수 없는 토토 캔의 경우). 이것은 완전한 토토 캔 인터프리터가 있다는 점을 제외하면 완전히 동일한 언어입니다. 사용되었습니다.만약PL/토토 캔U이 사용되므로 다음과 같이 설치해야 합니다. 신뢰할 수 없는 절차적 언어그래서 데이터베이스만 슈퍼유저는 그 안에 기능을 만들 수 있습니다. a의 작가PL/토토 캔U함수는 다음을 수행해야 합니다. 이 기능을 원하지 않는 작업에 사용할 수 없도록 주의하세요. 왜냐하면 그것은 사람이 할 수 있는 모든 일을 할 수 있기 때문이다. 사용자가 데이터베이스 관리자로 로그인했습니다.
다음에 대한 공유 개체PL/토토 캔그리고PL/토토 캔U호출 핸들러는 자동으로 에 구축 및 설치됨PostgreSQLTcl/Tk인 경우 라이브러리 디렉토리 지원은 구성 단계에서 지정됩니다. 설치 절차. 설치하려면PL/토토 캔및/또는PL/토토 캔U특정 데이터베이스에서는 다음을 사용하세요.createlang스크립트, 예를 들어createlang pltcldb이름또는createlang pltcludb이름.