PostgreSQL 9.4.5文書 | |||
---|---|---|---|
前のページ | 上に戻る | 第 43章PL/Python - Python手続き言語 | 次のページ |
plpyでは、plpy.debug(msg)、plpy.log(msg)、plpy.info(msg)、plpy.notice(msg)、plpy.warning(msg)、plpy.error(msg)、およびplpy.fatal(msg)関数を提供しています。
plpy.error
およびplpy.fatal
は、実際にPythonの例外を発生させます。
これが捕捉されない場合、呼び出し中の問い合わせ外部に伝わり、その結果、現在のトランザクションもしくはサブトランザクションがアボートします。
raise plpy.Error(msg)およびraise plpy.Fatal(msg)は、それぞれplpy.error
およびplpy.fatal
の呼び出しと同じです。
他の関数は異なる重要度のメッセージを生成するだけです。
log_min_messagesとclient_min_messages設定変数は、特定の重要度のメッセージをクライアントに報告するか、サーバのログに書き出すか、あるいはその両方かを制御します。
詳細は第18章を参照してください。
この他のユーティリティ関数群にはplpy.quote_literal(string)、plpy.quote_nullable(string)およびplpy.quote_ident(string)があります。 これらは項9.4で説明する組込みの引用符付け関数と同等です。 これらはその場限りの問い合わせを構築する時に有用です。 例40-1の動的SQLと同等なPL/Pythonを以下に示します。
plpy.execute("UPDATE tbl SET %s = %s WHERE key = %s" % ( plpy.quote_ident(colname), plpy.quote_nullable(newvalue), plpy.quote_literal(keyvalue)))