53.7. pg_cursors #
В представлении pg_cursors перечисляются курсоры, доступные в данный момент. Курсоры могут быть созданы несколькими способами:
через оператор
DECLAREв SQLчерез сообщение Bind в клиент-серверном протоколе, как описано в Подразделе 54.2.3
через интерфейс программирования сервера (SPI, Server Programming Interface), как описано в Разделе 45.1
В представлении pg_cursors показываются курсоры, полученные любым способом. Курсор существует только на протяжении транзакции, в которой он определён, если только он не был объявлен с указанием WITH HOLD. Поэтому не удерживаемые курсоры показываются в этом представлении только пока не завершится создавшая их транзакция.
Примечание
Курсоры используются внутри системы для реализации некоторых компонентов PostgreSQL, таких как процедурные языки. Таким образом, в представлении pg_cursors могут быть курсоры, которые пользователи не создавали явно.
Таблица 53.7. Столбцы pg_cursors
Тип столбца Описание |
|---|
Имя курсора |
Дословная строка запроса, создавшего данный курсор |
|
|
|
Время, в которое был объявлен курсор |
Представление pg_cursors доступно только для чтения.