|
Chapter 26. PL/Python - 过程语言
26.1. 介绍PL/Python 过程语言允许 用 Python 语言 写 PostgreSQL 函数. 目前的 PL/Python 只是当做可信任语言起作用的; 对文件系统和其它本地资源的访问是被禁止的.特别是 PL/Python 使用 Python 约束下的执行环境,更进一步防止了它使用文件打开调用, 并且只允许输入一个来自特定列表中的模块.目前,该列表包括∶ array,bisect,binascii,calendar,cmath,codecs, errno,marshal,math,md5,mpz,operator,pcre,pickle, random,re,regex,sre,sha,string,StringIO,struct, time,whrandom,和 zlib. 在目前版本里,在运行 PL/Python 函数时碰到的任何错误都将导致 后端马上结束该函数.不可能使用 Python 的 try ... catch 构造 捕获错误条件.比如,在传递给 plpy.execute() 调用的 SQL 语句中 的语法错误将终止该函数.这个行为可能在将来的版本中得到修改. |