51.68. pg_cursors
В представлении pg_cursors
перечисляются курсоры, доступные в данный момент. Курсоры могут быть созданы несколькими способами:
через оператор DECLARE в SQL
через сообщение Bind в клиент-серверном протоколе, как описано в Подразделе 52.2.3
через интерфейс программирования сервера (SPI, Server Programming Interface), как описано в Разделе 46.1
В представлении pg_cursors
показываются курсоры, полученные любым способом. Курсор существует только на протяжении транзакции, в которой он определён, если только он не был объявлен с указанием WITH HOLD
. Поэтому не удерживаемые курсоры показываются в этом представлении только пока не завершится создавшая их транзакция.
Примечание
Курсоры используются внутри системы для реализации некоторых компонентов Postgres Pro, таких как процедурные языки. Таким образом, в представлении pg_cursors
могут быть курсоры, которые пользователи не создавали явно.
Таблица 51.69. Столбцы pg_cursors
Имя | Тип | Описание |
---|---|---|
name | text | Имя курсора |
statement | text | Дословная строка запроса, создавшего данный курсор |
is_holdable | boolean | True , если курсор удерживаемый (то есть, к нему можно обращаться после того, как будет зафиксирована транзакция, в которой он объявлен); в противном случае — false |
is_binary | boolean | True , если курсор был объявлен с указанием BINARY ; в противном случае — false |
is_scrollable | boolean | True , если курсор прокручиваемый (то есть, позволяет получать строки непоследовательным образом); в противном случае — false |
creation_time | timestamptz | Время, в которое был объявлен курсор |
Представление pg_cursors
доступно только для чтения.
54.26. pg_index
#
The catalog pg_index
contains part of the information about indexes. The rest is mostly in pg_class
.
Table 54.26. pg_index
Columns
Column Type Description |
---|
The OID of the |
The OID of the |
The total number of columns in the index (duplicates |
The number of key columns in the index, not counting any included columns, which are merely stored and do not participate in the index semantics |
If true, this is a unique index |
This value is only used for unique indexes. If false, this unique index will consider null values distinct (so the index can contain multiple null values in a column, the default Postgres Pro behavior). If it is true, it will consider null values to be equal (so the index can only contain one null value in a column). |
If true, this index represents the primary key of the table ( |
If true, this index supports an exclusion constraint |
If true, the uniqueness check is enforced immediately on insertion (irrelevant if |
If true, the table was last clustered on this index |
If true, the index is currently valid for queries. False means the index is possibly incomplete: it must still be modified by |
If true, queries must not use the index until the |
If true, the index is currently ready for inserts. False means the index must be ignored by |
If false, the index is in process of being dropped, and should be ignored for all purposes (including HOT-safety decisions) |
If true this index has been chosen as “replica identity” using |
This is an array of |
For each column in the index key ( |
For each column in the index key ( |
This is an array of |
Expression trees (in |
Expression tree (in |