52.69. pg_cursors

The pg_cursors view lists the cursors that are currently available. Cursors can be defined in several ways:

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.


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 52.70. pg_cursors Columns

Column Type


name text

The name of the cursor

statement text

The verbatim query string submitted to declare this cursor

is_holdable bool

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 bool

true if the cursor was declared BINARY ; false otherwise

is_scrollable bool

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.