47.56. pg_cursors

pg_cursors列出了当前可用的游标。游标可以用几种不同的方法定义:

  • 通过DECLARE语句

  • 在前/后端协议中通过 Bind 信息,具体在Section 48.2.3中描述。

  • 通过服务器编程接口(SPI),具体在Section 44.1中描述。

pg_cursors显示上述所有方法创建的游标。 除非被声明为WITH HOLD,游标仅存在于定义它们的事务的生命期中。 因此非持久游标仅能够在视图中存在到创建该游标的事务结束时为止。

Note: 因为游标用于在PostgreSQL内部实现一些比如过程语言之类的组件。 因此pg_cursors可能包含并非由用户明确创建的游标。

Table 47-57. pg_cursors 字段

名字 类型 描述
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视图是只读的。