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)))