51.69. pg_cursors
The
pg_cursors
view lists the cursors that
are currently available. Cursors can be defined in several ways:
-
via the DECLARE statement in SQL
-
via the Bind message in the frontend/backend protocol, as described in Section 52.2.3
-
via the Server Programming Interface (SPI), as described in Section 46.1
The
pg_cursors
view displays cursors
created by any of these means. Cursors only exist for the duration
of the transaction that defines them, unless they have been
declared
WITH HOLD
. Therefore non-holdable
cursors are only present in the view until the end of their
creating transaction.
Note
Cursors are used internally to implement some of the components
of
PostgreSQL
, such as procedural languages.
Therefore, the
pg_cursors
view might include cursors
that have not been explicitly created by the user.
Table 51.70.
pg_cursors
Columns
Name | Type | Description |
---|---|---|
name
|
text
|
The name of the cursor |
statement
|
text
|
The verbatim query string submitted to declare this cursor |
is_holdable
|
boolean
|
true
if the cursor is holdable (that is, it
can be accessed after the transaction that declared the cursor
has committed);
false
otherwise
|
is_binary
|
boolean
|
true
if the cursor was declared
BINARY
;
false
otherwise
|
is_scrollable
|
boolean
|
true
if the cursor is scrollable (that is, it
allows rows to be retrieved in a nonsequential manner);
false
otherwise
|
creation_time
|
timestamptz
|
The time at which the cursor was declared |
The
pg_cursors
view is read only.