PostgreSQL 8.2.6 Documentation | ||||
---|---|---|---|---|
Prev | Fast Backward | Chapter 43. System Catalogs | Fast Forward | Next |
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 44.2.3
via the Server Programming Interface (SPI), as described in Section 41.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 may include cursors that have not been explicitly created by the user.
Table 43-36. 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.