在客户端通过 libpq 访问大对象的 API 模仿了经典的 Unix 文件系统接口规范:
lo_creat / lo_create:创建全新大对象并返回其 OID 标识。
lo_import / lo_export:在客户端操作系统物理文件与数据库大对象之间执行全量高速导入或导出。
lo_open:打开已有大对象并返回专用的文件描述符(支持只读 INV_READ 或可写 INV_WRITE 模式)。
lo_write 与 lo_read:从当前文件指针位置向大对象流式写入或读取指定字节数据。
lo_lseek64 与 lo_tell64:移动或查询当前大对象的 64 位字节读写偏移量指针。
lo_truncate64:就地将大对象截断调整为指定字节长度。
lo_close:关闭大对象文件描述符。
lo_unlink:根据 OID 物理删除并销毁大对象。
所有使用文件描述符操作大对象的函数必须在显式事务块内部执行(即在 BEGIN ... COMMIT 之间),因为大对象文件描述符仅在单次事务生命周期内有效,事务提交或回滚时所有已打开的大对象描述符将被系统自动关闭。