51.6. pg_cursors#

51.6. pg_cursors

51.6. pg_cursors #

Представление pg_cursors перечисляет курсоры, которые в настоящее время доступны. Курсоры могут быть определены несколькими способами:

  • С помощью оператора DECLARE в SQL

  • Сообщение Bind передается через протокол клиент/сервер, как описано в Раздел 52.2.3.

  • С помощью интерфейса программирования сервера (SPI), описанного в Раздел 44.1.

Представление pg_cursors отображает курсоры, созданные любым из этих способов. Курсоры существуют только в течение транзакции, которая их определяет, если они не были объявлены WITH HOLD. Поэтому непостоянные курсоры присутствуют в представлении только до конца транзакции, в которой они были созданы.

Примечание

Курсоры используются внутренне для реализации некоторых компонентов Tantor BE, таких как процедурные языки. Поэтому представление pg_cursors может включать курсоры, которые не были явно созданы пользователем.

Таблица 51.6. pg_cursors Колонки

Тип столбца

Описание

name text

Имя курсора

statement text

Строка запроса, отправленная для объявления этого курсора

is_holdable bool

true, если курсор является удерживаемым (то есть, он может быть доступен после завершения транзакции, которая объявила курсор); false в противном случае

is_binary bool

true если курсор был объявлен BINARY; false в противном случае

is_scrollable bool

true если курсор прокручиваемый (то есть позволяет извлекать строки в не последовательном порядке); false в противном случае

creation_time timestamptz

Время, когда курсор был объявлен


Представление pg_cursors доступно только для чтения.