PL 这些
Postgres 提供了用CURSOR指向 SELECT 语句结果集的性能。经常使用 CURSOR 的要素之一是,经过在单个事务中一次性批量失掉几行,来防止在处置大型结果集时出现内存耗尽 - 请参阅游标操作。CLOSE 操作是一个关键的操作,它会封锁游标和监禁资源,并回收游标变量。虽然它会在事务封锁时智能封锁,但一条黄金规律是,假设您已成功数据处置,应该一直封锁游标。假设事务尚未成功,并且您须要在同一事务中关上相反的游标,则会出现相似于SQL Error [42P03]:ERROR: cursor "X" already in use这样的失误。这是一个可重现的测试用例: