データベースアクセスPL/Python手続き言語を使用してPostgreSQLの関数をPython言語で作成することができます。dbnameを使用してください。言語をtemplate1にインストールすると、その後に作成されるデータベース全てにその言語は自動的にインストールされます。7.4より、PL/Pythonは"信頼されない"(つまり、ユーザが実行可能なことを制限する方法を提供しない)言語としてのみ利用可能です。したがって、plpythonuという名前に変更されました。Pythonで新しい安全な実行手法が開発されたら、将来信頼できるplpythonの亜種は利用可能になるかもしれません。ソースパッケージを使用するユーザは、インストールプロセスの間PL/Pythonの構築を特に使用可能にしておく必要があります。(詳細については、インストール手順を参照してください。バイナリパッケージを使用する場合は、別個のサブパッケージにPL/Pythonが入っている可能性があります。作成したPythonのコードは関数に変換されます。plpythonu;は、以下のように変換されます。args[0]ここで、23456はこの関数のOIDです。戻り値を用意していない場合、PythonはデフォルトのNoneを返します。この言語モジュールは、PythonのNoneをSQLのNULL値に変換します。PostgreSQL関数のパラメータは、グローバルなargsリスト内で使用することができます。上のmyfuncでは、args[0]には渡されたものがテキスト引数として格納されています。integer)の場合は、args[0]にはtext引数が、args[1]にはinteger引数が格納されます。グローバルなSD辞書は、関数呼び出し間のデータ保存のために使用することができます。この変数はプライベートな静的データです。グローバルなGD辞書は、共有データであり、セッション内の全てのPython関数で使用することができます。注意して使用して下さい。各関数は、Pythonインタプリタ内で自身の実行環境を入手します。そのため、myfuncによるグローバルデータと関数の引数はmyfunc2から使用することはできません。上記で説明した通り、GD辞書内のデータは例外です。