Skip to content

54.6.pg_cursors#

pg_cursors视图列出当前可用的游标。游标可以通过多种方式定义

  • 通过 SQL 中的 DECLARE 语句

  • 通过前端/后端协议中的 Bind 消息,如 第 55.2.3 节 中所述

  • 通过服务器编程接口 (SPI),如 第 47.1 节 中所述

pg_cursors视图显示通过上述任何方式创建的游标。游标仅在定义它们的交易期间存在,除非它们已声明WITH HOLD。因此,不可保持游标仅在创建它们的交易结束前存在于视图中。

注意

游标在内部用于实现PostgreSQL的一些组件,例如过程语言。因此,pg_cursors视图可能包括尚未由用户显式创建的游标。

表 54.6.pg_cursors

列类型

说明

name text

游标的名称

statement text

提交用于声明此游标的逐字查询字符串

is_holdable bool

如果游标可保持(即,可以在声明游标的交易提交后访问它),则为 true;否则为 false

is_binary bool

如果游标已声明 BINARY,则为 true;否则为 false

is_scrollable bool

如果游标可滚动(即,它允许以非顺序的方式检索行),则为 true;否则为 false

creation_time timestamptz

声明游标的时间

pg_cursors视图是只读的。