历史版本。 PostgreSQL 7.2 已结束支持。 请参阅 当前版本手册.
9.6. 大对象:pglarge #
此对象处理与 PostgreSQL 大对象有关的所有请求。它内嵌并隐藏了所有“重复”变量(对象 OID 和连接),方式与 pgobject 所做的完全相同,因此只在函数调用中保留有意义的参数。它保留一个对创建它时所用的
pgobject 的引用,通过其参数发送请求。除了取消引用之外,对 pgobject 的任何修改都会影响 pglarge 对象。对初始
pgobject 取消引用不是问题,因为在大对象取消对其引用之前,Python 不会释放它。所有函数在调用出错时都返回一条通用的错误消息,无论实际错误是什么。对象的 error 属性允许获取确切的错误消息。
pglarge 对象定义了一组只读属性,允许获取关于它的一些信息。这些属性是:
- oid
与该对象关联的 oid
- pgcnx
用于创建该对象的
pgobject- error
连接的最近一条警告/错误消息
小心
在多线程环境中,error 可能被另一个使用同一 pgobject 的线程修改。请记住,这些对象是共享的,而不是复制的;在这种情况下如果要检查错误消息,你应当提供某种锁。OID 属性非常有用,因为它允许你之后重用该 OID,用一个 pgobject
getlo() 方法调用创建
pglarge 对象。
关于 PostgreSQL 大对象接口的更多信息,另见第 2 章。