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(があります。
これらは「文字列関数と演算子」で説明する組込みの引用符付け関数と同等です。
これらはその場限りの問い合わせを構築する時に有用です。
例40.1「動的問い合わせの中の値の引用符付け」の動的SQLと同等なPL/Pythonを以下に示します。
string)
plpy.execute("UPDATE tbl SET %s = %s WHERE key = %s" % (
plpy.quote_ident(colname),
plpy.quote_nullable(newvalue),
plpy.quote_literal(keyvalue)))