49.59. pg_cursors

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

  • через оператор DECLARE в SQL

  • через сообщение Bind в клиент-серверном протоколе, как описано в Подразделе 50.2.3

  • через интерфейс программирования сервера (SPI, Server Programming Interface), как описано в Разделе 44.1

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

Примечание

Курсоры используются внутри системы для реализации некоторых компонентов Postgres Pro, таких как процедурные языки. Таким образом, в представлении pg_cursors могут быть курсоры, которые пользователи не создавали явно.

Таблица 49.60. Столбцы pg_cursors

ИмяТипОписание
nametextИмя курсора
statementtextДословная строка запроса, создавшего данный курсор
is_holdablebooleanTrue, если курсор удерживаемый (то есть, к нему можно обращаться после того, как будет зафиксирована транзакция, в которой он объявлен); в противном случае — false
is_binarybooleanTrue, если курсор был объявлен с указанием BINARY; в противном случае — false
is_scrollablebooleanTrue, если курсор прокручиваемый (то есть, позволяет получать строки непоследовательным образом); в противном случае — false
creation_timetimestamptzВремя, в которое был объявлен курсор

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

53.21. pg_event_trigger #

The catalog pg_event_trigger stores event triggers. See Chapter 40 for more information.

Table 53.21. pg_event_trigger Columns

Column Type

Description

oid oid

Row identifier

evtname name

Trigger name (must be unique)

evtevent name

Identifies the event for which this trigger fires

evtowner oid (references pg_authid.oid)

Owner of the event trigger

evtfoid oid (references pg_proc.oid)

The function to be called

evtenabled char

Controls in which session_replication_role modes the event trigger fires. O = trigger fires in origin and local modes, D = trigger is disabled, R = trigger fires in replica mode, A = trigger fires always.

evttags text[]

Command tags for which this trigger will fire. If NULL, the firing of this trigger is not restricted on the basis of the command tag.