他のバージョンの文書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

第44章 PL/Python - Python手続き言語

目次

44.1. Python 2対Python 3
44.2. PL/Python関数
44.3. データ値
44.3.1. データ型の対応付け
44.3.2. NullとNone
44.3.3. 配列、リスト
44.3.4. 複合型
44.3.5. 集合を返す関数
44.4. データの共有
44.5. 匿名コードブロック
44.6. トリガ関数
44.7. データベースアクセス
44.7.1. データベースアクセス関数
44.7.2. エラーの捕捉
44.8. 明示的サブトランザクション
44.8.1. サブトランザクションのコンテキスト管理
44.8.2. Pythonの旧式バージョン
44.9. ユーティリティ関数
44.10. 環境変数

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

PL/Pythonを特定のデータベースにインストールするには、CREATE EXTENSION plpythonuを使用するか、またはシェルのコマンドラインからcreatelang plpython dbnameを使用してください (ただし44.1. Python 2対Python 3も参照してください)。

ヒント

言語をtemplate1にインストールすると、その後に作成されるデータベース全てにその言語は自動的にインストールされます。

PL/Pythonは信頼されない、つまり、ユーザが実行可能なことを制限する方法を提供しない言語としてのみ利用可能です。 したがって、plpythonuという名前に変更されました。 Pythonで新しい安全な実行手法が開発されたら、将来信頼できるplpythonの亜種は利用可能になるかもしれません。 データベース管理者としてログインしたユーザにより行えることをすべて行うことができますので、信頼されないPL/Pythonによる関数開発者は、その関数は不必要なものを行うために使用できないことに注意しなければなりません。 スーパーユーザのみがplpythonuなどの信頼されない言語で関数を作成することができます。

注記

ソースパッケージを使用するユーザは、インストール処理の過程でPL/Pythonの構築が有効になるように指定する必要があります。 (詳細については、インストール手順を参照してください。) バイナリパッケージを使用する場合は、別のサブパッケージにPL/Pythonが入っている可能性があります。