9.26. Функции и операторы системной информации#
9.26. Функции и операторы системной информации #
- 9.26.1. Функции информации о сессии
- 9.26.2. Функции запроса привилегий доступа
- 9.26.3. Функции запроса видимости схемы
- 9.26.4. Функции информации системного каталога
- 9.26.5. Функции информации об объекте и адресации
- 9.26.6. Функции комментариев информации
- 9.26.7. Функции проверки достоверности данных
- 9.26.8. Функции для получения идентификатора транзакции и информации о снимке
- 9.26.9. Функции информации о зафиксированных транзакциях
- 9.26.10. Функции управления данными
Функции, описанные в этом разделе, используются для получения различной информации об установке Tantor BE.
9.26.1. Функции информации о сессии #
Таблица 9.67 показывает несколько функций, которые извлекают информацию о сессии и системе.
В дополнение к функциям, перечисленным в этом разделе, существует ряд функций, связанных со статистической системой, которые также предоставляют системную информацию. См. Раздел 26.2.25 для получения дополнительной информации.
Таблица 9.67. Функции информации о сессии
Функция Описание |
---|
Возвращает имя текущей базы данных. (Базы данных в стандарте SQL называются "каталогами", поэтому |
Возвращает текст текущего выполняющегося запроса, отправленного клиентом (который может содержать более одного оператора). |
Это эквивалентно |
Возвращает имя схемы, которая является первой в пути поиска (или значение null, если путь поиска пуст). Это схема, которая будет использоваться для любых таблиц или других именованных объектов, которые создаются без указания целевой схемы. |
Возвращает массив имен всех схем, которые в настоящее время находятся в действующем пути поиска, в их приоритетном порядке. (Элементы в текущем настройке search_path, которые не соответствуют существующим и доступным для поиска схемам, опускаются). Если аргумент типа Boolean равен |
Возвращает имя пользователя текущего контекста выполнения. |
Возвращает IP-адрес текущего клиента или |
Возвращает номер IP-порта текущего клиента или |
Возвращает IP-адрес, на котором сервер принял текущее соединение, или |
Возвращает номер IP-порта, на котором сервер принял текущее соединение, или |
Возвращает идентификатор процесса сервера, присоединенного к текущей сессии. |
Возвращает массив идентификаторов процесса(-ов) сессий, которые блокируют серверный процесс с указанным идентификатором процесса от получения блокировки, или пустой массив, если такого серверного процесса нет или он не заблокирован.
Один серверный процесс блокирует другой, если он либо удерживает блокировку, которая конфликтует с запросом блокировки заблокированного процесса (жесткая блокировка), либо ожидает блокировку, которая конфликтует с запросом блокировки заблокированного процесса и находится перед ним в очереди ожидания (мягкая блокировка). При использовании параллельных запросов результат всегда содержит идентификаторы процессов, видимые клиентом (то есть результаты функции Частые вызовы этой функции могут оказывать некоторое влияние на производительность базы данных, поскольку она требует эксклюзивного доступа к общему состоянию менеджера блокировок на короткое время. |
Возвращает время последней загрузки файлов конфигурации сервера. Если текущая сессия была активна в это время, это будет время, когда сама сессия перечитала файлы конфигурации (поэтому чтение будет немного отличаться в разных сессиях). В противном случае это время, когда процесс постмастер перечитал файлы конфигурации. |
Возвращает путь к текущему используемому файлу журнала событий. Путь включает каталог log_directory и имя отдельного файла журнала. Результатом является |
Возвращает OID временной схемы текущей сессии или ноль, если она не имеет временной схемы (потому что не создала никаких временных таблиц). |
Возвращает true, если заданный OID является OID временной схемы другой сессии. (Это может быть полезно, например, для исключения временных таблиц других сессий из отображения каталога). |
Возвращает true, если доступно расширение компилятора JIT (см. Глава 30) и параметр конфигурации jit установлен в |
Возвращает набор имен асинхронных каналов уведомлений, на которые текущая сессия подписана. |
Возвращает долю (0–1) максимального размера очереди асинхронных уведомлений, которая в настоящее время занята уведомлениями, ожидающими обработки. См. LISTEN и NOTIFY для получения дополнительной информации. |
Возвращает время, когда сервер был запущен. |
Возвращает массив идентификаторов процесса(-ов) сессий, которые блокируют серверный процесс с указанным идентификатором процесса от получения безопасного снимка, или пустой массив, если такого серверного процесса нет или он не заблокирован.
Сессия, выполняющая транзакцию Частые вызовы этой функции могут оказывать некоторое влияние на производительность базы данных, поскольку она требует доступа к общему состоянию менеджера блокировок предикатов на короткое время. |
Возвращает текущий уровень вложенности триггеров Tantor BE (0, если функция не вызывается, непосредственно или косвенно, изнутри триггера). |
Возвращает имя пользователя сессии. |
Возвращает метод аутентификации и идентификацию (если таковая имеется), которую
пользователь представил в ходе цикла аутентификации до того, как ему была
назначена роль базы данных. Это представлено как
|
Это эквивалентно |
Возвращает строку, описывающую версию сервера PostgreSQL. Также можно получить эту информацию из server_version, или для машинно-читаемой версии использовать server_version_num. Разработчики программного обеспечения должны использовать |
Возвращает строку, описывающую версию сервера Tantor BE
в формате |
Возвращает строку, описывающую название версии Tantor BE. |
Возвращает строку с хешем коммита Tantor BE. |
Примечание
current_catalog
,
current_role
,
current_schema
,
current_user
,
session_user
,
и user
имеют особый синтаксический статус
в SQL: они должны вызываться без закрывающих
скобок. В PostgreSQL скобки могут быть использованы необязательно с
current_schema
, но не с другими.
Функция session_user
обычно представляет пользователя, который инициировал текущее соединение с базой данных; но суперпользователи могут изменить это значение с помощью SET SESSION AUTHORIZATION.
Функция current_user
представляет идентификатор пользователя, который используется для проверки разрешений. Обычно он равен пользователю сессии, но его можно изменить с помощью SET ROLE.
Он также изменяется во время выполнения функций с атрибутом SECURITY DEFINER
.
В терминах Unix, пользователь сессии - это “реальный пользователь”, а текущий пользователь - это “эффективный пользователь”.
current_role
и user
являются синонимами для current_user
. (Стандарт SQL делает различие между current_role
и current_user
, но Tantor BE не делает этого, так как объединяет пользователей и роли в один тип сущности).
9.26.2. Функции запроса привилегий доступа #
Таблица 9.68 перечисляет функции, которые позволяют программно запрашивать привилегии доступа к объектам.
(См. Раздел 5.7 для получения дополнительной информации о привилегиях).
В этих функциях пользователь, привилегии которого запрашиваются, может быть указан по имени или по OID
(pg_authid
.oid
), или если
имя указано как public
, то проверяются привилегии псевдороли PUBLIC. Также, аргумент user
может быть полностью не указан, в этом случае предполагается использование current_user
.
Объект, о котором запрашивается информация, также может быть указан по имени или
по OID. При указании по имени может быть указано имя схемы, если это применимо.
Интересующая привилегия доступа указывается текстовой строкой, которая должна
быть одним из соответствующих ключевых слов привилегий для типа объекта
(например, SELECT
). Дополнительно, к типу привилегии можно добавить
WITH GRANT OPTION
, чтобы проверить, имеется ли привилегия с опцией предоставления. Также, можно перечислить несколько типов привилегий,
разделяя их запятыми, в этом случае результат будет true, если имеется хотя бы одна из
перечисленных привилегий. (Регистр строки привилегии не имеет значения, и допускается наличие дополнительных пробелов между, но не внутри
имен привилегий).
Некоторые примеры:
SELECT has_table_privilege('myschema.mytable', 'select'); SELECT has_table_privilege('joe', 'mytable', 'INSERT, SELECT WITH GRANT OPTION');
Таблица 9.68. Функции запроса привилегий доступа
Функция Описание |
---|
Есть ли у пользователя привилегия для любого столбца таблицы?
Это выполняется, если привилегия присутствует для всей таблицы или
если есть предоставление привилегии на уровне столбца хотя бы для одного
столбца.
Допустимые типы привилегий:
|
Есть ли у пользователя привилегия для указанного столбца таблицы?
Это выполняется, если привилегия удерживается для всей таблицы или
если есть привилегия на уровне столбца для этого столбца.
Столбец может быть указан по имени или по номеру атрибута
( |
Есть ли у пользователя привилегия для базы данных?
Допустимые типы привилегий:
|
Имеет ли пользователь привилегию для внешнего источника данных?
Единственный допустимый тип привилегии - |
Есть ли у пользователя привилегия для функции?
Единственный допустимый тип привилегии -
При указании функции по имени, а не по OID, допустимый ввод такой же, как для типа данных SELECT has_function_privilege('joeuser', 'myfunc(int, text)', 'execute');
|
Имеет ли пользователь привилегию для языка?
Единственный допустимый тип привилегии - |
Имеет ли пользователь привилегию для параметра конфигурации?
Имя параметра нечувствительно к регистру.
Допустимые типы привилегий: |
Есть ли у пользователя привилегия для схемы?
Допустимые типы привилегий: |
Есть ли у пользователя привилегия для последовательности?
Допустимые типы привилегий: |
Есть ли у пользователя привилегия для внешнего сервера?
Единственный допустимый тип привилегии - |
Есть ли у пользователя привилегия для таблицы?
Допустимые типы привилегий:
|
Есть ли у пользователя привилегия для табличного пространства?
Единственный допустимый тип привилегии - |
Есть ли у пользователя привилегия для типа данных?
Единственный допустимый тип привилегий - |
Есть ли у пользователя привилегия для роли?
Допустимые типы привилегий:
|
Активна ли политика защиты на уровне строк для указанной таблицы в контексте текущего пользователя и текущей среды? |
Таблица 9.69 показывает операторы, доступные для типа aclitem
, который является каталожным представлением привилегий доступа. См. Раздел 5.7 для получения информации о том, как читать значения привилегий доступа.
Таблица 9.69. aclitem
Операторы
Таблица 9.70 показывает некоторые дополнительные
функции для управления типом aclitem
.
Таблица 9.70. aclitem
Функции
Функция Описание |
---|
Создает массив |
Возвращает массив |
Создает |
9.26.3. Функции запроса видимости схемы #
Таблица 9.71 показывает функции, которые определяют, является ли определенный объект видимым в текущем пути поиска схемы. Например, таблица считается видимой, если ее содержащая схема находится в пути поиска и ни одна таблица с таким же именем не появляется раньше в пути поиска. Это эквивалентно утверждению, что на таблицу можно ссылаться по имени без явного указания схемы. Таким образом, чтобы перечислить имена всех видимых таблиц:
SELECT relname FROM pg_class WHERE pg_table_is_visible(oid);
Для функций и операторов объект в пути поиска считается видимым, если ранее в пути нет объекта с тем же именем и типом(ами) аргумента данных. Для классов и семейств операторов учитываются как имя, так и связанный метод доступа к индексу.
Таблица 9.71. Функции запроса видимости схемы
Все эти функции требуют идентификаторы объектов (OID) для идентификации объекта, который нужно проверить. Если нужно проверить объект по имени, удобно использовать типы псевдонимов OID (regclass
, regtype
, regprocedure
, regoperator
, regconfig
или regdictionary
), например:
SELECT pg_type_is_visible('myschema.widget'::regtype);
Обратите внимание, что проверка несхематизированного имени типа таким образом не имеет особого смысла - если имя вообще может быть распознано, оно должно быть видимым.
9.26.4. Функции информации системного каталога #
Таблица 9.72 перечисляет функции, которые извлекают информацию из системных каталогов.
Таблица 9.72. Функции информации системного каталога
Функция Описание |
---|
Возвращает SQL-имя для типа данных, который идентифицируется его OID и, возможно, модификатором типа. Передайте NULL для модификатора типа, если конкретный модификатор неизвестен. |
Преобразует указанное имя кодировки в целое число, представляющее внутренний идентификатор, используемый в некоторых таблицах системного каталога.
Возвращает |
Преобразует целое число, используемое в качестве внутреннего идентификатора кодировки в некоторых таблицах системного каталога, в читаемую человеком строку. Возвращает пустую строку, если указано недопустимое число кодировки. |
Возвращает набор записей, описывающих внешние ключевые отношения, существующие в каталогах системы Tantor BE.
Столбец |
Восстанавливает команду создания ограничения. (Это восстановление декомпилировано, а не оригинальный текст команды). |
Декомпилирует внутреннюю форму выражения, хранящегося в системных каталогах, такую как значение по умолчанию для столбца. Если выражение может содержать переменные (Vars), укажите OID отношения, на которое они ссылаются, в качестве второго параметра; если переменные (Vars) не ожидаются, достаточно передать ноль. |
Восстанавливает команду создания функции или процедуры.
(Это восстановление декомпилированное, а не оригинальный текст
команды).
Результатом является полный оператор |
Восстанавливает список аргументов функции или процедуры в форме, в которой он должен появиться внутри |
Восстанавливает список аргументов, необходимых для идентификации функции или процедуры в том виде, в котором он должен появиться в командах, таких как |
Восстанавливает предложение |
Восстанавливает команду создания индекса.
(Это восстановление декомпилированное, а не оригинальный текст
команды). Если |
Возвращает набор записей, описывающих ключевые слова SQL, распознаваемые сервером. Столбец |
Воссоздает определение ключа секции секционированной таблицы
в том виде, в котором оно будет в предложении |
Восстанавливает команду создания правила. (Это восстановление декомпилированной команды, а не оригинального текста команды). |
Возвращает имя последовательности, связанной с колонкой, или NULL, если с колонкой не связана последовательность.
Если колонка является колонкой идентификатора, связанная последовательность - это последовательность, созданная внутренне для этой колонки.
Для колонок, созданных с использованием одного из серийных типов
( Типичное использование - чтение текущего значения последовательности для столбца с идентификатором или серийным номером, например: SELECT currval(pg_get_serial_sequence('sometable', 'id'));
|
Восстанавливает команду создания объекта расширенной статистики. (Это восстановление декомпилированное, а не оригинальный текст команды). |
Восстанавливает команду создания триггера. (Это восстановление декомпилированной команды, а не оригинального текста команды). |
Возвращает имя роли по ее OID. |
Восстанавливает базовую команду |
Восстанавливает базовую команду |
Восстанавливает базовую команду |
Проверяет, имеет ли столбец индекса указанное свойство.
Общие свойства столбцов индекса перечислены в
Таблица 9.73.
(Обратите внимание, что методы доступа расширений могут определять дополнительные имена свойств для своих индексов).
|
Проверяет, имеет ли индекс указанное свойство.
Общие свойства индекса перечислены в
Таблица 9.74.
(Обратите внимание, что методы доступа расширений могут определять дополнительные имена свойств для своих индексов).
|
Проверяет, имеет ли метод доступа к индексу указанное свойство.
Свойства методов доступа к индексам перечислены в
Таблица 9.75.
|
Возвращает набор параметров хранения, представленных значением из |
Возвращает массив флагов, связанных с указанным GUC, или |
Возвращает набор OID баз данных, в которых хранятся объекты в указанном табличном пространстве. Если эта функция возвращает какие-либо строки, значит табличное пространство не пустое и его нельзя удалить. Чтобы определить конкретные объекты, находящиеся в табличном пространстве, вам потребуется подключиться к базе данных, указанной в функции |
Возвращает путь файловой системы, в которой находится данное табличное пространство. |
Возвращает OID типа данных значения, переданного ему.
Это может быть полезно для устранения неполадок или динамического создания SQL-запросов. Функция объявлена с возвращаемым типом Например: SELECT pg_typeof(33); pg_typeof ----------- integer SELECT typlen FROM pg_type WHERE oid = pg_typeof(33); typlen -------- 4
|
Возвращает имя правила сортировки значения, переданного ему.
Значение заключено в кавычки и с указанием схемы, если необходимо. Если для выражения аргумента не было определено правило сортировки, то возвращается значение Например: SELECT collation for (description) FROM pg_description LIMIT 1; pg_collation_for ------------------ "default" SELECT collation for ('foo' COLLATE "de_DE"); pg_collation_for ------------------ "de_DE"
|
Преобразует текстовое имя отношения в его OID. Аналогичный результат
получается при приведении строки к типу |
Преобразует текстовое имя сортировки в его OID. Аналогичный результат
получается путем приведения строки к типу |
Преобразует текстовое имя схемы в его OID. Аналогичный результат
получается при приведении строки к типу |
Преобразует текстовое имя оператора в его OID. Аналогичный результат
получается при приведении строки к типу |
Преобразует текстовое имя оператора (с типами параметров) в его OID. Аналогичный результат
получается при приведении строки к типу |
Преобразует текстовое имя функции или процедуры в его OID. Аналогичный результат
получается при приведении строки к типу |
Переводит текстовое имя функции или процедуры (с типами аргументов) в его OID. Аналогичный результат
получается при приведении строки к типу |
Преобразует текстовое имя роли в его OID. Аналогичный результат
получается при приведении строки к типу |
Преобразует текстовое имя типа в его OID. Аналогичный результат
получается при приведении строки к типу |
Большинство функций, которые восстанавливают (декомпилируют) объекты базы данных, имеют необязательный флаг pretty
, который, если установлен в значение true
, приводит к выводу результата в формате “красивого вывода”. Красивый вывод удаляет ненужные скобки и добавляет пробелы для улучшения читаемости. Формат красивого вывода более читаем, но формат по умолчанию более вероятно будет интерпретироваться одинаково будущими версиями Tantor BE, поэтому избегайте использования красивого вывода для целей дампа. Передача значения false
для параметра pretty
дает тот же результат, что и опускание параметра.
Таблица 9.73. Свойства столбца индекса
Name | Description |
---|---|
asc | Сортирует ли столбец в возрастающем порядке при прямом сканировании? |
desc | Определяет, сортируется ли столбец в порядке убывания при прямом сканировании? |
nulls_first | Сортирует ли столбец сначала значениями null при прямом сканировании? |
nulls_last | Сортирует ли столбец с null-значениями в конце при прямом сканировании? |
orderable | Обладает ли столбец определенным порядком сортировки? |
distance_orderable | Может ли столбец быть просканирован в порядке с помощью оператора “distance”,
например ORDER BY col <-> constant ?
|
returnable | Может ли значение столбца быть возвращено при сканировании только по индексу? |
search_array | Поддерживает ли столбец нативно поиск col = ANY(array) ?
|
search_nulls | Поддерживает ли столбец поиск IS NULL и
IS NOT NULL ?
|
Таблица 9.74. Свойства индекса
Name | Description |
---|---|
clusterable | Может ли индекс использоваться в команде CLUSTER ?
|
index_scan | Поддерживает ли индекс обычные (не битовые) сканирования? |
bitmap_scan | Поддерживает ли индекс сканирования по битовым картам? |
backward_scan | Может ли направление сканирования быть изменено в середине сканирования (для поддержки FETCH BACKWARD на курсоре без необходимости материализации)?
|
Таблица 9.75. Свойства метода доступа к индексу
Name | Description |
---|---|
can_order | Поддерживает ли метод доступа ключевые слова ASC ,
DESC и связанные с ними в CREATE INDEX ?
|
can_unique | Поддерживает ли метод доступа уникальные индексы? |
can_multi_col | Поддерживает ли метод доступа индексы с несколькими столбцами? |
can_exclude | Поддерживает ли метод доступа ограничение-исключения? |
can_include | Поддерживает ли метод доступа INCLUDE
в предложении CREATE INDEX ?
|
Таблица 9.76. Флаги GUC
Flag | Description |
---|---|
EXPLAIN | Параметры с этим флагом включаются в команды
EXPLAIN (SETTINGS) .
|
NO_SHOW_ALL | Параметры с этим флагом исключаются из команд SHOW ALL .
|
NO_RESET | Параметры с этим флагом не поддерживают
команды RESET .
|
NO_RESET_ALL | Параметры с этим флагом исключаются из команды
RESET ALL .
|
NOT_IN_SAMPLE | Параметры с этим флагом по умолчанию не включены в
postgresql.conf .
|
RUNTIME_COMPUTED | Параметры с этим флагом вычисляются во время выполнения. |
9.26.5. Функции информации об объекте и адресации #
Таблица 9.77 перечисляет функции, связанные с идентификацией и адресацией объектов базы данных.
Таблица 9.77. Функции информации об объекте и адресации
9.26.6. Функции комментариев информации #
Функции, показанные в Таблица 9.78 извлекают комментарии, ранее сохраненные с помощью команды COMMENT. Если для указанных параметров комментарий не найден, возвращается значение null.
Таблица 9.78. Функции комментариев информации
9.26.7. Функции проверки достоверности данных #
Функции, показанные в Таблица 9.79, могут быть полезны для проверки допустимости предлагаемых входных данных.
Таблица 9.79. Функции проверки достоверности данных
9.26.8. Функции для получения идентификатора транзакции и информации о снимке #
Функции, показанные в Таблица 9.80, предоставляют информацию о транзакциях сервера в экспортируемой форме. Основное использование этих функций - определить, какие транзакции были подтверждены между двумя снимками.
Таблица 9.80. Функции для получения идентификатора транзакции и информации о снимке
Функция Описание |
---|
Возвращает количество транзакций между указанным идентификатором транзакции и текущим счетчиком транзакций. |
Возвращает количество multixacts ID между указанным multixact ID и текущим счетчиком multixacts. |
Возвращает идентификатор текущей транзакции. Назначит новый, если текущая транзакция еще не имеет его (потому что не выполняла обновлений базы данных); см. Раздел 71.1 для подробностей. Если выполнено в подчиненной транзакции, это вернет идентификатор транзакции верхнего уровня; см. Раздел 71.3 для подробностей. |
Возвращает ID текущей транзакции или |
Отчет о состоянии коммита недавней транзакции.
Результатом является одно из значений |
Возвращает текущий снимок, структуру данных, показывающую, какие идентификаторы транзакций сейчас находятся в процессе. В снимок включены только идентификаторы транзакций верхнего уровня; идентификаторы подчиненных транзакций не отображаются; см. Раздел 71.3 для подробностей. |
Возвращает набор идентификаторов транзакций, находящихся в процессе выполнения, содержащихся в снимке. |
Возвращает |
Возвращает |
Является ли данное ID транзакции видимым согласно этому снимку (то есть, было ли оно завершено до того, как был сделан снимок)? Обратите внимание, что эта функция не даст правильного ответа для ID подтранзакции (subxid); см. Раздел 71.3 для подробностей. |
Внутренний тип идентификатора транзакции xid
имеет ширину 32 бита и
оборачивается каждые 4 миллиарда транзакций. Однако,
функции, показанные в Таблица 9.80, за исключением
age
и mxid_age
, используют
64-битный тип xid8
, который не оборачивается в течение срока
установки и может быть преобразован в xid
путем приведения, если
это необходимо; см. Раздел 71.1 для подробностей.
Тип данных pg_snapshot
хранит информацию о
видимости идентификатора транзакции в определенный момент времени. Его компоненты
описаны в Таблица 9.81.
Текстовое представление pg_snapshot
—
.
Например, xmin
:xmax
:xip_list
10:20:10,14,15
означает
xmin=10, xmax=20, xip_list=10, 14, 15
.
Таблица 9.81. Компоненты снимка
Имя | Описание |
---|---|
xmin |
Самый низкий идентификатор транзакции, который все еще активен. Все идентификаторы транзакций меньше xmin либо подтверждены и видимы, либо отменены и недействительны.
|
xmax |
Один за наивысшим завершенным идентификатором транзакции. Все идентификаторы транзакций, большие или равные xmax , еще не завершились на момент создания снимка, и поэтому невидимы.
|
xip_list |
Транзакции, выполняющиеся на момент создания снимка. Транзакция
с идентификатором xmin <= и не входящая в этот список, уже была завершена на момент
создания снимка, и, следовательно, либо видима, либо мертва в зависимости
от её статуса фиксации. Этот список не включает идентификаторы транзакций
подчинённых транзакций (subxids).
|
В релизах Tantor BE до 13-й версии не было типа xid8
, поэтому были предоставлены варианты этих функций, которые использовали тип bigint
для представления 64-битного XID, с соответствующим отдельным типом данных снимка txid_snapshot
. Эти старые функции имеют в своих именах txid
. Они все еще поддерживаются для обратной совместимости, но могут быть удалены в будущих версиях. См. Таблица 9.82.
Таблица 9.82. Устаревшие функции идентификатора транзакции и информации о снимке
9.26.9. Функции информации о зафиксированных транзакциях #
Функции, показанные в Таблица 9.83 предоставляют информацию о том, когда были зафиксированы прошлые транзакции. Они предоставляют полезные данные только тогда, когда включена опция конфигурации track_commit_timestamp, и только для транзакций, которые были зафиксированы после ее включения. Информация о времени фиксации регулярно удаляется во время vacuum.
Таблица 9.83. Функции информации о зафиксированных транзакциях
9.26.10. Функции управления данными #
Функции, показанные в Таблица 9.84,
выводят информацию, инициализированную во время initdb
,
такую как версия каталога. Они также показывают информацию о журналировании
предварительной записи и обработке контрольных точек. Эта информация относится ко всему кластеру,
а не к конкретной базе данных. Эти функции предоставляют большую часть той же
информации из того же источника, что и приложение
pg_controldata.
Таблица 9.84. Функции управления данными
Функция Описание |
---|
Возвращает информацию о текущем состоянии контрольной точки, как показано в Таблица 9.85. |
Возвращает информацию о текущем состоянии контрольного файла, как показано в Таблица 9.86. |
Возвращает информацию о состоянии инициализации кластера, как показано в Таблица 9.87. |
Возвращает информацию о состоянии восстановления, как показано в Таблица 9.88. |
Таблица 9.85. Выходные столбцы 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 |
Таблица 9.86. Выходные столбцы pg_control_system
Имя столбца | Тип данных |
---|---|
pg_control_version | integer |
catalog_version_no | integer |
system_identifier | bigint |
pg_control_last_modified | timestamp with time zone |
Таблица 9.87. Выходные столбцы 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 |
Таблица 9.88. pg_control_recovery
Output Columns
Имя столбца | Тип данных |
---|---|
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 |