Movatterモバイル変換


[0]ホーム

URL:



Facebook
Postgres Pro
Facebook
Downloads
42.1. Overview
Prev UpChapter 42. PL/Tcl — Tcl Procedural LanguageHome Next

42.1. Overview#

PL/Tcl offers most of the capabilities a function writer has in the C language, with a few restrictions, and with the addition of the powerful string processing libraries that are available for Tcl.

One compellinggood restriction is that everything is executed from within the safety of the context of a Tcl interpreter. In addition to the limited command set of safe Tcl, only a few commands are available to access the database via SPI and to raise messages viaelog(). PL/Tcl provides no way to access internals of the database server or to gain OS-level access under the permissions of thePostgreSQL server process, as a C function can do. Thus, unprivileged database users can be trusted to use this language; it does not give them unlimited authority.

The other notable implementation restriction is that Tcl functions cannot be used to create input/output functions for new data types.

Sometimes it is desirable to write Tcl functions that are not restricted to safe Tcl. For example, one might want a Tcl function that sends email. To handle these cases, there is a variant ofPL/Tcl calledPL/TclU (for untrusted Tcl). This is exactly the same language except that a full Tcl interpreter is used.IfPL/TclU is used, it must be installed as an untrusted procedural language so that only database superusers can create functions in it. The writer of aPL/TclU function must take care that the function cannot be used to do anything unwanted, since it will be able to do anything that could be done by a user logged in as the database administrator.

The shared object code for thePL/Tcl andPL/TclU call handlers is automatically built and installed in thePostgreSQL library directory if Tcl support is specified in the configuration step of the installation procedure. To installPL/Tcl and/orPL/TclU in a particular database, use theCREATE EXTENSION command, for exampleCREATE EXTENSION pltcl orCREATE EXTENSION pltclu.


Prev Up Next
Chapter 42. PL/Tcl — Tcl Procedural Language Home 42.2. PL/Tcl Functions and Arguments
pdfepub
Go to PostgreSQL 17
By continuing to browse this website, you agree to the use of cookies. Go toPrivacy Policy.

[8]ページ先頭

©2009-2025 Movatter.jp