目次
The <application>PL/Python</application> procedural language allows <productname>PostgreSQL</productname> functions and procedures to be written in the <ulink url="https://www.python.org">Python language</ulink>. PL/Python手続き言語を使用してPostgreSQLの関数やプロシージャをPython言語で作成できます。
To install PL/Python in a particular database, use
<literal>CREATE EXTENSION plpython3u</literal>.
PL/Pythonを特定のデータベースにインストールするには、CREATE EXTENSION plpython3u
を使用してください。
If a language is installed into <literal>template1</literal>, all subsequently
created databases will have the language installed automatically.
言語をtemplate1
にインストールすると、その後に作成されるデータベース全てにその言語は自動的にインストールされます。
PL/Python is only available as an <quote>untrusted</quote> language, meaning
it does not offer any way of restricting what users can do in it and
is therefore named <literal>plpython3u</literal>. A trusted
variant <literal>plpython</literal> might become available in the future
if a secure execution mechanism is developed in Python. The
writer of a function in untrusted PL/Python 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. Only superusers can create functions in
untrusted languages such as <literal>plpython3u</literal>.
PL/Pythonは「信頼されない」、つまり、ユーザが実行可能なことを制限する方法を提供しない言語としてのみ利用可能です。
したがって、plpython3u
という名前に変更されました。
Pythonで新しい安全な実行手法が開発されたら、将来信頼できるplpython
の亜種は利用可能になるかもしれません。
データベース管理者としてログインしたユーザにより行えることをすべて行うことができますので、信頼されないPL/Pythonによる関数開発者は、その関数は不必要なものを行うために使用できないことに注意しなければなりません。
スーパーユーザのみがplpython3u
などの信頼されない言語で関数を作成することができます。
Users of source packages must specially enable the build of PL/Python during the installation process. (Refer to the installation instructions for more information.) Users of binary packages might find PL/Python in a separate subpackage. ソースパッケージを使用するユーザは、インストール処理の過程でPL/Pythonの構築が有効になるように指定する必要があります。 (詳細については、インストール手順を参照してください。) バイナリパッケージを使用する場合は、別のサブパッケージにPL/Pythonが入っている可能性があります。