51.68. pg_cursors #
该 pg_cursors 视图列出当前可用的游标。游标可以通过几种方式定义:
通过 SQL 中的 DECLARE 语句
通过前端/后端协议中的 Bind 消息,如第 52.2.3 节中所述
通过服务器编程接口(SPI),如第 46.1 节中所述
该 pg_cursors 视图会显示通过上述任意方式创建的游标。游标仅在定义它的事务持续期间存在,除非将其声明为 WITH HOLD。因此,不可保持的游标只会在此视图中保留到创建它的事务结束为止。
注意
游标在内部用于实现 PostgreSQL 的某些组件,如过程语言。因此,pg_cursors 视图可能包含用户未显式创建的游标。
表 51.69. pg_cursors 列
列类型 描述 |
|---|
游标名 |
用于声明此游标的原始查询字符串 |
如果游标是可保持游标(即,在声明该游标的事务提交后仍可访问)则为 |
如果游标被声明为 |
如果游标是可滚动的(即,允许以一种非顺序的方式检索行)则为 |
游标被声明的时间 |
pg_cursors 视图是只读的。