历史版本。 PostgreSQL 9.4 已结束支持。 2020-02-13. 请参阅 当前版本手册.
43.9. 辅助函数 #
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(。它们等价于第 9.4 节中描述的内置加引号函数。在构造临时查询时,这些函数很有用。例 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)))