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