Функции, описанные в данном разделе, предназначены для получения различных сведений об установленном экземпляре Digital Q.DataBase.
Таблица 2.6.69 приведено несколько функций, предназначенных для извлечения системной информации и сведений о сеансе.
Помимо функций, перечисленных в данном разделе, существует ряд функций, связанных с системой статистики, которые также предоставляют системную информацию. См. Раздел 3.12.2.26 для получения дополнительной информации.
Таблица 2.6.69. Функции получения информации о сеансе
Функция Описание |
|---|
|
Возвращает имя текущей базы данных. (В языке SQL базы данных
называются «каталогами» согласно стандарту SQL,
поэтому |
|
Возвращает текст исполняемого в данный момент запроса в том виде, в котором он был отправлен клиентом (запрос может содержать более одной инструкции). |
|
Это эквивалентно функции |
|
Возвращает имя схемы, которая является первой в пути поиска (или значение null, если путь поиска пуст). Данная схема будет использоваться для любых таблиц или других именованных объектов, создаваемых без указания целевой схемы. |
Возвращает массив имен всех схем, входящих в настоящее время в
эффективный путь поиска в порядке приоритета элементов. (Элементы в текущем
search_path значении параметра, которые не соответствуют
существующим и доступным для поиска схемам, исключаются.) Если логический аргумент
соответствует |
|
Функция возвращает имя пользователя для текущего контекста выполнения. |
|
Функция возвращает IP-адрес текущего клиента,
или |
|
Функция возвращает номер IP-порта текущего клиента,
или |
|
Функция возвращает IP-адрес, по которому сервер принял текущее
соединение,
или |
|
Функция возвращает номер IP-порта, по которому сервер принял текущее
соединение,
или |
|
Функция возвращает идентификатор серверного процесса, обслуживающего текущий сеанс. |
Функция возвращает массив идентификаторов процессов для сеансов, которые блокируют серверный процесс с указанным идентификатором от захвата блокировки, либо пустой массив, если соответствующий серверный процесс отсутствует или если он не заблокирован.
Один серверный процесс блокирует другой, если он либо удерживает блокировку, которая
конфликтует с запросом блокировки заблокированного процесса (жесткая блокировка), либо
ожидает блокировку, конфликтующую с запросом заблокированного процесса,
и при этом находится перед ним в очереди ожидания (мягкая блокировка). При использовании
параллельных запросов в результате всегда выводятся идентификаторы процессов (PID), видимые клиенту
(то есть Частые вызовы данной функции могут негативно влиять на производительность базы данных, так как ей требуется кратковременный эксклюзивный доступ к общему состоянию менеджера блокировок. |
Данная функция возвращает время последней перезагрузки конфигурационных файлов сервера. Если текущий сеанс в этот момент был активен, возвращается время, когда конфигурационные файлы были повторно считаны самим сеансом (вследствие чего время считывания в разных сеансах может незначительно различаться). В противном случае возвращается время повторного считывания конфигурационных файлов процессом postmaster. |
Функция возвращает путь к файлу журнала, используемому сборщиком сообщений
в текущий момент. Данный путь включает в себя log_directory
имя каталога и имя конкретного файла журнала. Результат будет пустым,
соответствует
Вызов этой функции по умолчанию ограничен суперпользователями и ролями с правами
с |
|
Возвращает идентификатор OID временной схемы текущего сеанса или ноль, если она отсутствует (поскольку временные таблицы не создавались). |
Возвращает логическое значение true, если указанный OID является идентификатором OID другого сеанса временная схема. (Данная возможность может быть полезна, например, для исключения других временных таблиц сеансов из представления каталога.) |
|
Возвращает логическое значение true, если JIT расширение компилятора
доступно (см. Глава 3.15) и если
jit параметр конфигурации установлен в значение
|
Возвращает набор имен каналов асинхронных уведомлений, которые прослушивает текущий сеанс. |
Возвращает долю (от 0 до 1) максимального размера очереди асинхронных уведомлений, занятую уведомлениями, которые ожидают обработки. См. LISTEN и NOTIFY для получения дополнительной информации. |
Возвращает время запуска сервера. |
Возвращает массив идентификаторов процессов (PID) тех сеансов, которые блокируют серверному процессу с указанным идентификатором процесса в получении безопасного снимка состояния, или пустой массив, если такой серверный процесс отсутствует или не заблокирован.
Сеанс, в котором выполняется Частые вызовы данной функции могут негативно влиять на производительность производительность, поскольку функции требуется доступ к диспетчеру предикатных блокировок блокировок. |
|
Возвращает текущий уровень вложенности из Digital Q.DataBase триггеров (значение 0, если вызов выполнен, прямо или косвенно, не из триггера). |
|
Возвращает имя пользователя текущего сеанса. |
|
Возвращает метод аутентификации и идентификационные данные (при их наличии), которые
имя, представленное пользователем в ходе цикла аутентификации до того, как ему была
назначена роль базы данных. Данное значение представляется в формате
|
|
Это эквивалентно функции |
current_catalog,
current_role,
current_schema,
current_user,
session_user,
а также user имеют особый синтаксический статус
в языке SQL: их следует вызывать без замыкающих
скобок. В СУБД Digital Q.DataBase круглые скобки могут опционально использоваться с функцией
current_schema, но не с остальными функциями.
Данный session_user обычно возвращает имя пользователя, инициировавшего текущее соединение с базой данных; однако суперпользователи могут изменить этот параметр
с помощью команды SET SESSION AUTHORIZATION.
Данная функция current_user возвращает идентификатор пользователя, применяемый для проверки прав доступа. Как правило, он совпадает с сеансовым пользователем, но может быть изменен с помощью команды
SET ROLE.
Данное значение также изменяется во время выполнения
функций с атрибутом SECURITY DEFINER.
В терминологии Unix пользователь сеанса представляет собой «реальный пользователь» а
текущий пользователь — это «эффективный пользователь».
current_role и user являются
синонимами для current_user. (В стандарте SQL проводится
различие между current_role
и current_user, но Digital Q.DataBase
PostgreSQL этого не делает, так как в данной системе пользователи и роли объединены в один тип сущности.)
Таблица 2.6.70 содержит список функций,
позволяющих программно запрашивать права доступа к объектам.
(См. Раздел 2.2.8 для получения дополнительной информации о
правах доступа.)
В данных функциях пользователь, права которого проверяются,
может быть указан по имени или по идентификатору OID
(pg_authid.oid), а если
имя указано как public то проверяются права доступа псевдороли PUBLIC. Кроме того, user
данный аргумент может быть полностью опущен, и в этом случае
значение current_user принимается по умолчанию. Объект, права которого проверяются, также может быть указан либо по имени, либо по идентификатору OID. При указании по имени может быть также указано имя схемы, если это необходимо. Проверяемое право доступа задается текстовой строкой, которая должна соответствовать одному из ключевых слов прав доступа для данного типа объекта (например, SELECT). Дополнительно, WITH GRANT
OPTION может быть добавлена к типу привилегии для проверки того, предоставлена ли данная привилегия с правом передачи другим пользователям (grant option). Также через запятую можно указать несколько типов привилегий; в этом случае результатом будет значение true, если пользователь обладает любой из перечисленных привилегий. (Регистр строки привилегий не имеет значения, также допускаются дополнительные пробелы между названиями привилегий, но не внутри них.) Примеры:
SELECT has_table_privilege('myschema.mytable', 'select');
SELECT has_table_privilege('joe', 'mytable', 'INSERT, SELECT WITH GRANT OPTION');
Таблица 2.6.70. Функции проверки прав доступа
Функция Описание |
|---|
Имеет ли пользователь привилегию для какого-либо столбца таблицы?
Запрос возвращает истинное значение, если привилегия предоставлена для всей таблицы или
если имеется предоставление привилегии на уровне столбца хотя бы для одного
столбца.
Допустимые типы привилегий:
|
Имеет ли пользователь привилегию для указанного столбца таблицы?
Запрос возвращает истинное значение, если привилегия предоставлена для всей таблицы или
если имеется предоставление привилегии на уровне столбца для конкретного столбца.
Столбец может быть указан с помощью имени или номера атрибута
( |
Обладает ли пользователь правами доступа к базе данных?
Допустимые типы привилегий:
|
Обладает ли пользователь правами доступа к обертке сторонних данных (foreign-data wrapper)?
Единственным допустимым типом прав доступа является |
Обладает ли пользователь правами доступа к функции?
Единственным допустимым типом прав доступа является
При указании функции по имени, а не по идентификатору OID, формат
входных данных будет таким же, как и для
SELECT has_function_privilege('joeuser', 'myfunc(int, text)', 'execute');
|
Имеется ли у пользователя право доступа к языку?
Единственным допустимым типом прав доступа является |
Имеется ли у пользователя право доступа к параметру конфигурации?
Имя параметра нечувствительно к регистру.
К допустимым типам прав доступа относятся: |
Имеется ли у пользователя право доступа к схеме?
Допустимые типы привилегий:
|
Имеется ли у пользователя право доступа к последовательности?
Допустимые типы привилегий:
|
Имеется ли у пользователя право доступа к стороннему серверу?
Единственным допустимым типом прав доступа является |
Имеется ли у пользователя право доступа к таблице?
Допустимые типы прав доступа
являются следующими: |
Имеет ли пользователь права доступа к табличному пространству?
Единственным допустимым типом прав доступа является |
Имеет ли пользователь права доступа к типу данных?
Единственным допустимым типом прав доступа является |
Имеет ли пользователь права доступа к роли?
Допустимые типы привилегий:
|
Активна ли защита на уровне строк для указанной таблицы в контексте текущего пользователя и текущей среды окружения? |
Таблица 2.6.71 содержит список операторов,
доступных для типа aclitem представляющего собой формат хранения
привилегий доступа в системном каталоге. См. Раздел 2.2.8
для получения сведений о том, как интерпретировать значения привилегий доступа.
Таблица 2.6.71. aclitem Операторы
Таблица 2.6.72 содержит некоторые дополнительные
функции для управления aclitem типа.
Таблица 2.6.72. aclitem Функции
Функция Описание |
|---|
Функция формирует |
Данная функция возвращает |
Функция формирует |
Таблица 2.6.73 приведены функции, которые определяют, является ли конкретный объект видимым в текущем пути поиска схем (search path). Например, таблица считается видимой, если содержащая ее схема включена в путь поиска и в данном пути ранее не встречается таблица с таким же именем. Это эквивалентно утверждению, что к таблице можно обращаться по имени без явного указания имени схемы. Таким образом, чтобы вывести имена всех видимых таблиц, используется следующий запрос:
SELECT relname FROM pg_class WHERE pg_table_is_visible(oid);
Для функций и операторов объект в пути поиска считается видимым, если в этом пути не встречается объект с тем же именем и типами данных аргументов ранее по списку. Для классов и семейств операторов учитываются как имя, так и связанный метод доступа индекса.
Таблица 2.6.73. Функции проверки видимости объектов в схемах
Для идентификации проверяемого объекта всем этим функциям требуются значения OID объектов. Для проверки объекта по имени удобно использовать типы псевдонимов OID (regclass, regtype,
regprocedure, regoperator, regconfig,
или regdictionary),
например:
SELECT pg_type_is_visible('myschema.widget'::regtype);
Следует отметить, что проверка таким способом имени типа, не уточнённого именем схемы, не имеет особого смысла — если имя вообще может быть распознано, оно должно быть видимым.
Таблица 2.6.74 содержит функции, извлекающие информацию из системных каталогов.
Таблица 2.6.74. Функции для получения информации из системных каталогов
Функция Описание |
|---|
Возвращает имя на языке SQL для типа данных, идентифицируемого по его типу OID и, возможно, модификатор типа. Передайте значение NULL для модификатора типа, если конкретный модификатор неизвестен. |
Функция возвращает OID базового типа для домена, идентифицируемого по его OID типа. Если аргумент является OID типа, не являющегося доменом, функция возвращает аргумент без изменений. Функция возвращает значение NULL, если аргумент не является допустимым OID типа. При наличии цепочки зависимостей доменов рекурсия будет продолжаться до тех пор, пока не будет найден базовый тип.
Пример:
|
Функция преобразует указанное имя кодировки в целое число, представляющее
внутренний идентификатор, используемый в некоторых таблицах системного каталога.
Возвращает значение |
Функция преобразует целое число, используемое в качестве внутреннего идентификатора кодировки в некоторых таблицах системного каталога, в человекочитаемую строку. Функция возвращает пустую строку, если указан недопустимый номер кодировки. |
Данная функция возвращает набор записей, описывающих связи по внешним ключам,
существующие в Digital Q.DataBase системных
каталогах.
Данный |
Восстанавливает команду создания для ограничения. (Данный текст является декомпилированной реконструкцией, а не исходным текстом команды.) |
Декомпилирует внутреннюю форму выражения, хранящегося в системных каталогах, такого как значение по умолчанию для столбца. Если выражение может содержать переменные (Vars), укажите OID отношения, на которое они ссылаются, в качестве второго параметра; если наличие переменных (Vars) не ожидается, передачи значения ноль будет достаточно. |
Восстанавливает команду создания для функции или процедуры.
(Данный текст является декомпилированной реконструкцией, а не исходным текстом
команды.)
Результатом является полная |
Воссоздает список аргументов функции или процедуры в том виде,
в котором он должен быть представлен в |
Воссоздает список аргументов, необходимых для идентификации функции или
процедуры, в том виде, в котором он должен указываться в таких командах, как
функции |
Воссоздает |
Воссоздает команду создания индекса.
(Данный текст является декомпилированной реконструкцией, а не исходным текстом
команды.) Если |
Функция возвращает набор записей, описывающих ключевые слова языка SQL, которые распознаются
сервером. Столбец |
Восстанавливает определение ключа секционирования секционированной таблицы
в том виде, в котором он был бы представлен в |
Восстанавливает команду создания указанного правила (rule). (Данный текст является декомпилированной реконструкцией, а не исходным текстом команды.) |
Данная функция возвращает имя последовательности, связанной со столбцом,
или значение NULL, если со столбцом не связана ни одна последовательность.
Если столбец является столбцом идентификации (identity column), то связанной последовательностью считается
последовательность, созданная для этого столбца внутренними механизмами системы.
Для столбцов, созданных с использованием одного из типов данных serial
( Типичный пример использования — получение текущего значения последовательности для столбца типа identity или serial, например:
SELECT currval(pg_get_serial_sequence('sometable', 'id'));
|
Восстанавливает команду создания для расширенного объекта статистики. (Данный текст является декомпилированной реконструкцией, а не исходным текстом команды.) |
Восстанавливает команду создания для триггера. (Данный текст является декомпилированной реконструкцией, а не исходным текстом команды.) |
Возвращает имя роли по её OID. |
Восстанавливает исходную |
Восстанавливает исходную |
Восстанавливает исходную |
Данная функция проверяет, обладает ли столбец индекса указанным свойством.
Общие свойства столбцов индекса перечислены в
Таблица 2.6.75.
(Обратите внимание, что методы доступа расширений могут определять дополнительные имена
свойств для своих индексов.)
|
Данная функция проверяет, обладает ли индекс указанным свойством.
Общие свойства индексов перечислены в
Таблица 2.6.76.
(Обратите внимание, что методы доступа расширений могут определять дополнительные имена
свойств для своих индексов.)
|
Данная функция проверяет, обладает ли метод доступа к индексу указанным свойством.
Свойства методов доступа перечислены в разделе
Таблица 2.6.77.
|
Функция возвращает набор параметров хранения, представленных значением из
|
Функция возвращает массив флагов, связанных с заданным параметром конфигурации GUC, или
|
Функция возвращает набор идентификаторов OID баз данных, объекты которых хранятся в
указанном табличном пространстве. Если данная функция возвращает какие-либо строки, это означает, что
табличное пространство не пусто и не может быть удалено. Для идентификации конкретных
объектов, наполняющих табличное пространство, необходимо подключиться к
базы данных, идентифицируемые |
Функция возвращает путь в файловой системе, по которому расположено данное табличное пространство. |
|
Функция возвращает OID типа данных значения, переданного ей в качестве аргумента.
Это может быть полезно для поиска и устранения неисправностей или динамического формирования
запросов на языке SQL. Данная функция объявлена как
возвращающих тип
|
Функция возвращает имя правила сортировки (коллации) для значения, переданного ей в качестве аргумента.
Значение заключается в кавычки и дополняется именем схемы при необходимости. Если
для выражения, являющегося аргументом, не было определено правило сортировки,
то
|
Преобразует текстовое имя отношения в соответствующий OID. Аналогичный результат
получается при приведении строки к типу |
Преобразует текстовое имя правила сортировки (collation) в соответствующий OID. Аналогичный результат
получается при приведении строки к типу |
Преобразует текстовое имя схемы в соответствующий OID. Аналогичный результат
получается при приведении строки к типу |
|
Преобразует текстовое имя оператора в соответствующий OID. Аналогичный результат
получается при приведении строки к типу |
Выполняет преобразование текстового имени оператора (с указанием типов параметров) в его OID. Аналогичный результат
получается при приведении строки к типу |
|
Выполняет преобразование текстового имени функции или процедуры в соответствующий OID. Аналогичный результат
получается при приведении строки к типу |
Выполняет преобразование текстового имени функции или процедуры (с указанием типов аргументов) в соответствующий OID. Аналогичный результат
получается при приведении строки к типу |
|
Выполняет преобразование текстового имени роли в соответствующий OID. Аналогичный результат
получается при приведении строки к типу |
|
Выполняет синтаксический анализ текстовой строки, извлекая из нее потенциальное имя типа,
и преобразует данное имя в OID типа. Синтаксическая ошибка в
строке приведет к возникновению ошибки; однако, если строка представляет собой
синтаксически корректное имя типа, которое не было найдено в
системных каталогах, результатом будет |
Выполняет синтаксический анализ текстовой строки, извлекая из нее потенциальное имя типа,
и преобразует его модификатор типа, если таковой имеется. Синтаксическая ошибка в
строке приведет к возникновению ошибки; однако, если строка представляет собой
синтаксически корректное имя типа, которое не было найдено в
системных каталогах, результатом будет
|
Большинство функций, выполняющих реконструкцию (декомпиляцию) объектов базы данных, имеют необязательный в отформатированном виде флаг, который
если true приводит к тому, что результат будет
представлен в «форматированном виде (pretty-print)». Форматированный вывод подавляет избыточные
скобки и добавляет пробелы для улучшения читаемости.
Такой формат более удобен для восприятия, однако формат по умолчанию
с большей вероятностью будет интерпретирован идентично будущими версиями
Digital Q.DataBase; поэтому следует избегать использования форматированного вывода
для целей создания дампов. Передача значения false для
параметра в отформатированном виде возвращает тот же результат, что и пропуск данного параметра.
Таблица 2.6.75. Свойства столбцов индекса
| Имя | Описание |
|---|---|
по возрастанию | Выполняется ли сортировка столбца по возрастанию при прямом сканировании? |
по убыванию | Выполняется ли сортировка столбца по убыванию при прямом сканировании? |
nulls_first | Выполняется ли при прямом сканировании сортировка столбца с расположением значений NULL в начале? |
nulls_last | Выполняется ли при прямом сканировании сортировка столбца с расположением значений NULL в конце? |
упорядочиваемый | Имеется ли у данного столбца какой-либо определенный порядок сортировки? |
distance_orderable | Допускается ли сканирование столбца в определенном порядке с использованием «расстояние»
оператора, например, ORDER BY col <-> constant ?
|
возвращаемый | Может ли значение столбца быть возвращено при использовании метода сканирования только индекса (index-only scan)? |
search_array | Поддерживает ли столбец нативно col = ANY(array)
поиск?
|
search_nulls | Поддерживает ли столбец оператор IS NULL и
оператор IS NOT NULL поиск?
|
Таблица 2.6.76. Свойства индекса
| Имя | Описание |
|---|---|
возможность кластеризации | Допускается ли использование индекса в CLUSTER команде?
|
index_scan | Поддерживает ли индекс обычное (не битовое) сканирование? |
bitmap_scan | Поддерживает ли индекс битовое сканирование? |
backward_scan | Допускается ли смена направления сканирования в процессе выполнения (для
поддержки FETCH BACKWARD в курсоре без
необходимости материализации)?
|
Таблица 2.6.77. Свойства методов доступа к индексам
| Имя | Описание |
|---|---|
can_order | Поддерживает ли метод доступа использование ASC,
DESC и сопутствующих ключевых слов в
CREATE INDEX?
|
can_unique | Обеспечивает ли метод доступа поддержку уникальных индексов? |
can_multi_col | Обеспечивает ли метод доступа поддержку индексов с несколькими столбцами? |
can_exclude | Обеспечивает ли метод доступа поддержку ограничений исключения? |
can_include | Поддерживает ли метод доступа предложение INCLUDE
в составе CREATE INDEX?
|
Таблица 2.6.78. Флаги GUC
| Флаг | Описание |
|---|---|
EXPLAIN | Параметры с данным флагом включаются в результаты выполнения
EXPLAIN (SETTINGS) команд.
|
NO_SHOW_ALL | Параметры с данным флагом исключаются из результатов выполнения
SHOW ALL команд.
|
NO_RESET | Параметры с данным флагом не поддерживают команды
RESET команд.
|
NO_RESET_ALL | Параметры с данным флагом исключаются из результатов выполнения
RESET ALL команд.
|
NOT_IN_SAMPLE | Параметры с данным флагом не включаются в файл
postgresql.conf используется по умолчанию.
|
RUNTIME_COMPUTED | Параметры с данным флагом являются значениями, вычисляемыми во время выполнения. |
Таблица 2.6.79 содержит функции, относящиеся к идентификации и адресации объектов базы данных.
Таблица 2.6.79. Функции получения информации об объектах и функции адресации
Функции, представленные в Таблица 2.6.80 извлекают комментарии, ранее сохраненные при помощи COMMENT команды. Если для указанных параметров комментарий не найден, возвращается значение NULL.
Таблица 2.6.80. Функции получения информации о комментариях
Функции, представленные в Таблица 2.6.81 могут быть полезны для проверки валидности предлагаемых входных данных.
Таблица 2.6.81. Функции проверки валидности данных
Функции, представленные в Таблица 2.6.82 предоставляют информацию о транзакциях сервера в экспортируемом формате. Основное назначение данных функций заключается в определении транзакций, зафиксированных между двумя снимками.
Таблица 2.6.82. Функции идентификаторов транзакций и информации о снимках
Функция Описание |
|---|
|
Возвращает количество транзакций между указанным идентификатором транзакции и текущим счетчиком транзакций. |
|
Возвращает количество идентификаторов multixact между указанным идентификатором multixact и текущим счетчиком multixact. |
|
Возвращает идентификатор текущей транзакции. Функция назначает новый идентификатор, если текущая транзакция еще не имеет его (так как она еще не выполняла обновлений базы данных); см. Раздел 7.16.1 для получения подробных сведений. При выполнении в подтранзакции функция возвращает идентификатор транзакции верхнего уровня; см. Раздел 7.16.3 для получения подробных сведений. |
Возвращает идентификатор текущей транзакции или |
Функция сообщает о статусе фиксации недавней транзакции.
Результат принимает одно из следующих значений: |
Возвращает текущий snapshot, структуру данных, показывающую, какие идентификаторы транзакций выполняются в данный момент. В данный снимок включаются только идентификаторы транзакций верхнего уровня; идентификаторы подтранзакций не отображаются; см. Раздел 7.16.3 для получения подробных сведений. |
Возвращает набор идентификаторов выполняющихся транзакций, содержащихся в снимке. |
Данная функция возвращает |
Данная функция возвращает |
Завершен ли указанный идентификатор транзакции видимым согласно данному снимку состояния (то есть была ли транзакция завершена до того, как снимок был сделан)? Обратите внимание, что данная функция возвращает некорректный результат для идентификатора подтранзакции (subxid); см. Раздел 7.16.3 информацию о подробные сведения. |
Внутренний тип идентификатора транзакции xid имеет разрядность 32 бита и
подвержен циклическому переполнению через каждые 4 миллиарда транзакций. Однако
функции, указанные в Таблица 2.6.82, за исключением
age и mxid_age, используют
64-битный тип xid8 который не подвержен циклическому переполнению в течение всего срока эксплуатации системы и может быть преобразован в xid посредством приведения типов, если это
требуется; см. Раздел 7.16.1 для получения подробной информации.
Тип данных pg_snapshot хранит сведения о видимости идентификатора транзакции в конкретный момент времени. Его компоненты
описаны в Таблица 2.6.83.
pg_snapshotтекстовое представление имеет вид
.
Например xmin:xmax:xip_list10:20:10,14,15 означает
xmin=10, xmax=20, xip_list=10, 14, 15.
Таблица 2.6.83. Компоненты снимка состояния
| Имя | Описание |
|---|---|
xmin |
Наименьший идентификатор транзакции (ID), который на тот момент оставался активным. Все идентификаторы транзакций,
значение которых меньше xmin либо зафиксированы и являются видимыми,
либо отменены и являются недействительными.
|
xmax |
Значение, следующее за идентификатором последней завершенной транзакции. Все идентификаторы транзакций,
значение которых больше или равно xmax еще не были
завершены на момент создания снимка и, следовательно, являются невидимыми.
|
xip_list |
Транзакции, выполнявшиеся в момент создания снимка. Идентификатор транзакции,
который xmin <= и не входит в данный список, уже соответствует завершенной транзакции на момент
снимка состояния, и, таким образом, является либо видимой, либо неактивной в зависимости от ее
статуса фиксации. В данный список не включаются идентификаторы
подтранзакций (subxids).
|
В версиях Digital Q.DataBase ранее 13-й отсутствовал
тип xid8 , в связи с чем предоставлялись варианты функций, использовавшие bigint для представления 64-битных идентификаторов XID с соответствующим отдельным типом данных снимка txid_snapshot.
В названиях этих устаревших функций присутствует сочетание txid in their names. Данные функции все еще поддерживаются для обеспечения обратной совместимости, однако они могут быть удалены в будущих выпусках. См. раздел Таблица 2.6.84.
Таблица 2.6.84. «Устаревшие функции для получения идентификаторов транзакций и информации о снимках»
Функции, представленные в Таблица 2.6.85 предоставляют сведения о времени завершения прошлых транзакций. Данные функции возвращают полезную информацию только в том случае, если track_commit_timestamp соответствующий параметр конфигурации включен, и только для тех транзакций, которые были зафиксированы после его включения. Сведения о временных метках фиксации транзакций регулярно удаляются в процессе выполнения операции vacuum.
Таблица 2.6.85. Функции получения информации о зафиксированных транзакциях
Функции, представленные в Таблица 2.6.86
выводят информацию, инициализированную при выполнении утилиты initdb, такую
как версия системного каталога. Данные функции также отображают сведения о журналах упреждающей записи (WAL) и о процессе создания контрольных точек. Эта информация относится ко всему кластеру баз данных,
а не к какой-либо конкретной базе данных. Данные функции предоставляют практически ту же информацию из того же источника, что и
pg_controldata приложение.
Таблица 2.6.86. Функции управляющих данных
Функция Описание |
|---|
Функция возвращает сведения о текущем состоянии контрольной точки, как показано в Таблица 2.6.87. |
|
Функция возвращает сведения о текущем состоянии управляющего файла, как показано в Таблица 2.6.88. |
|
Функция возвращает сведения о состоянии инициализации кластера, как показано в Таблица 2.6.89. |
Функция возвращает сведения о состоянии восстановления, как показано в Таблица 2.6.90. |
Таблица 2.6.87. pg_control_checkpoint Выходные столбцы
| Имя столбца | Тип данных |
|---|---|
checkpoint_lsn | pg_lsn |
redo_lsn | pg_lsn |
redo_wal_file | text |
timeline_id | integer |
prev_timeline_id | integer |
full_page_writes | boolean |
next_xid | text |
next_oid | oid |
next_multixact_id | xid |
next_multi_offset | xid |
oldest_xid | xid |
oldest_xid_dbid | oid |
oldest_active_xid | xid |
oldest_multi_xid | xid |
oldest_multi_dbid | oid |
oldest_commit_ts_xid | xid |
newest_commit_ts_xid | xid |
checkpoint_time | timestamp with time zone |
Таблица 2.6.88. pg_control_system Выходные столбцы
| Имя столбца | Тип данных |
|---|---|
pg_control_version | integer |
catalog_version_no | integer |
system_identifier | bigint |
pg_control_last_modified | timestamp with time zone |
Таблица 2.6.89. pg_control_init Выходные столбцы
| Имя столбца | Тип данных |
|---|---|
max_data_alignment | integer |
database_block_size | integer |
blocks_per_segment | integer |
wal_block_size | integer |
bytes_per_wal_segment | integer |
max_identifier_length | integer |
max_index_columns | integer |
max_toast_chunk_size | integer |
large_object_chunk_size | integer |
float8_pass_by_value | boolean |
data_page_checksum_version | integer |
Таблица 2.6.90. pg_control_recovery Выходные столбцы
| Имя столбца | Тип данных |
|---|---|
min_recovery_end_lsn | pg_lsn |
min_recovery_end_timeline | integer |
backup_start_lsn | pg_lsn |
backup_end_lsn | pg_lsn |
end_of_backup_record_required | boolean |
Функции, представленные в Таблица 2.6.91 выводит информацию о версии.
Таблица 2.6.91. Функции получения информации о версии
Функция Описание |
|---|
|
Функция возвращает строку, описывающую Digital Q.DataBase
версию сервера. Данную информацию также можно получить из
server_version, а для получения версии в
машиночитаемом формате следует использовать server_version_num. Программное обеспечение
разработчикам следует использовать |
|
Данная функция возвращает строку с версией стандарта Unicode, используемой Digital Q.DataBase. |
|
Данная функция возвращает строку с версией стандарта Unicode, используемой библиотекой ICU, если
сервер был собран с поддержкой ICU; в противном случае возвращается
|
Функции, представленные в Таблица 2.6.92 выводит информацию о состоянии процесса суммирования WAL. См. summarize_wal.
Таблица 2.6.92. Функции получения информации о суммировании WAL