SPI_finish 关闭一个与 SPI 管理器的联接. 在完成了 SPI 操作之后(你的过程的当前执行需要它),你必需调用这个函数.
如果 SPI_finish 是在当前没有有效联接的情况下 被调用的,你可能会得到一个 SPI_ERROR_UNCONNECTED 的返回.这样做没有什么根本性的错误,这意味着 SPI 管理器不做任何事情.
SPI_finish 必须作为一个已联接的过程的最后一步被调用, 否则你可能得到不可预料的结果! 不过,如果事务是通过 elog(ERROR) 退出的,那么你就不需要担心 出现这样的情况.因为这个时候 SPI 会自己做清理.