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