[11/15開催: PostgreSQL Conference Japan 2019 参加受付中] 
他のバージョンの文書 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

Chapter 26. PL/Python - Python 手続き言語

Table of Contents
26.1. 紹介
26.2. インストール方法
26.3. PL/Python の使用

26.1. 紹介

PL/Python 手続き言語を使用して PostgreSQL の関数を Python 言語で作成することができます。

PL/Python の現行版では、信頼できる言語としてのみ機能します。ファイルシステムや他のローカルリソースへのアクセスを行なうことはできません。特別に、 PL/Python は、Python を制限された実行環境で使用しています。更に、ファイル open 呼び出しの使用を防止し、インポートされた特定のリストに記したモジュールのみを許可します。現在、このリストには以下が含まれています。array, bisect, binascii, calendar, cmath, codecs, errno, marshal,math, md5, mpz, operator, pcre, pickle, random, re, regex, sre,sha, string, StringIO, struct, time, whrandom, および zlib。

現行版では、PL/Python 関数の実行中データベースエラーが発生すると、サーバによってその関数は即座に終了させられます。Python の try ... catch 構文を使用してもエラー条件を trap することは不可能です。例えば、 plpy.execute() 呼び出しに渡された SQL 文に構文エラーがあった場合、この関数は終了します。この動作は、今後変更する予定です。