CLOSEは、開いたカーソルに関連するリソースを解放します。 カーソルが閉じられた後は、そのカーソルに対する操作はできません。 カーソルは必要がなくなった時点で閉じるべきです。
トランザクションがCOMMITもしくはROLLBACKで終了された時点で、開いている保持不可能カーソルは全て暗黙的に閉じられます。 ROLLBACKにより保持可能カーソルを作成したトランザクションをアボートした場合、この保持可能カーソルは暗黙的に閉じられます。 作成したトランザクションが正常にコミットされた場合、保持可能カーソルは明示的にCLOSEが実行されるまで、あるいは、クライアントとの接続が切断されるまで、開いたままになります。
PostgreSQLには明示的なOPENカーソル文がありません。 カーソルは宣言された時に開いたとみなされます。 カーソルの宣言にはDECLARE文を使用してください。
pg_cursorsシステムビューを問い合わせることにより利用可能なすべてのカーソルを確認することができます。
カーソルがセーブポイントの後に閉ざされ、後にロールバックした場合には、CLOSEはロールバックされません。 つまり、そのカーソルは閉じたままとなります。