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