Глоссарий

Ниже представлен перечень терминов с описанием их значений в контексте QHB и реляционных баз данных в целом.

ACID

Atomicity (Атомарность), Consistency (Согласованность), Isolation (Изолированность) и Durability (Прочность). Этот набор свойств транзакций в базе данных призван гарантировать корректность операций при параллельном выполнении и даже в случае ошибок, при отключении питания и т. п.

DELETE

Команда SQL, удаляющая строки из данной таблицы или отношения.

Подробную информацию см. на справочной странице команды DELETE.

GMT

См. UTC.

GRANT

Команда SQL, дающая пользователю или роли доступ к определенным объектам в базе данных.

Подробную информацию см. на справочной странице команды GRANT.

INSERT

Команда SQL, используемая для добавления в таблицу новых данных.

Подробную информацию см. на справочной странице команды INSERT.

LSN

См. Регистрационный номер транзакции в журнале (LSN).

MERGE

Команда SQL, используемая для добавления, модификации или удаления (при определенных условиях) строк в заданной таблице, задействуя данные из исходного отношения.

Подробную информацию см. на справочной странице команды MERGE.

NULL

Понятие несуществования, которое является основным положением теории реляционных баз данных. Оно обозначает отсутствие какого-либо определенного значения.

Qhbmaster (процесс)

Самый первый процесс экземпляра СУБД. Он запускает другие вспомогательные процессы и управляет ими, а также по мере необходимости создает обслуживающие процессы.

Подробную информацию см. в разделе Запуск сервера баз данных.

REVOKE

Команда, лишающая заданный список ролей доступа к определенному набору объектов базы данных.

Подробную информацию см. на справочной странице команды REVOKE.

ROLLBACK

Команда, отменяющая все операции, выполненные с начала транзакции.

Подробную информацию см. на справочной странице команды ROLLBACK.

SELECT

Команда SQL, используемая для запроса данных из базы. Обычно не предполагается, что команды SELECT будут каким-то образом изменять базу данных, однако существует вероятность, что побочным эффектом функций, вызванных в каком-либо запросе, станет изменение данных.

Подробную информацию см. на справочной странице команды SELECT.

TOAST

Механизм, который обеспечивает хранение больших атрибутов строк таблицы, разделяя их и размещая в дополнительной таблице, называемой таблицей TOAST. У каждого отношения с большими атрибутами имеется собственная таблица TOAST.

Подробную информацию см. в разделе TOAST.

UPDATE

Команда SQL, используемая для изменения уже существующих строк определенной таблицы. Она не может добавлять или удалять строки.

Подробную информацию см. на справочной странице команды UPDATE.

UTC

Всемирно координированное время, основная глобальная система отсчета времени, примерно совпадающая с временем нулевого меридиана. Часто ошибочно называется GMT (Greenwich Mean Time, среднее время по Гринвичу).

WAL

См. Журнал упреждающей записи.

Автовакуум (процесс)

Ряд фоновых процессов, регулярно выполняющих операции очистки и анализа. Вспомогательный процесс, который координирует работу и присутствует всегда (если только автоочистка не отключена), называется процессом запуска автовакуума, а процессы, выполняющие задачи, называются рабочими процессами автоовакуума.

Подробную информацию см. в подразделе Процесс «Автовакуум».

Агрегатная функция (подпрограмма)

Функция, которая объединяет (агрегирует) множество входных значений, например, подсчитывая их количество, складывая их или вычисляя среднее, в результате чего на выходе получается одно значение.

Подробную информацию см. в разделе Агрегатные функции.

См. также Оконная функция (подпрограмма).

Анализ (операция)

Процесс сбора статистики по данным в таблицах и других отношениях, помогающий планировщику запросов принимать решения, касающиеся способов выполнения запросов.

(Не путайте этот термин с параметром ANALYZE команды EXPLAIN.)

Подробную информацию см. на справочной странице команды ANALYZE.

Аналитическая функция

См. Оконная функция (подпрограмма).

Архивирование WAL (процесс)

Вспомогательный процесс, который в активном состоянии сохраняет копии файлов WAL в целях создания резервных дубликатов данных или для поддержания актуального состояния реплик.

Подробную информацию см. в разделе Непрерывное архивирование и восстановление на момент времени (PITR).

Атомарность

Свойство транзакции, которое заключается в том, что все ее операции выполняются вместе либо не выполняются вовсе. Кроме того, в случае сбоя системы в процессе выполнения транзакции никаких частичных изменений после восстановления не появится. Это одно из свойств ACID.

Атомарный

Применительно к данным означает, что элемент данных нельзя разделить на меньшие части.

Применительно к транзакциям в базах данных см. атомарность.

Атрибут

Элемент с определенным именем и типом данных, содержащийся в кортеже.

База данных

Именованная совокупность локальных объектов SQL.

Подробную информацию см. в разделе Обзор главы «Управление базами данных».

Базовая резервная копия

Двоичная копия всех файлов кластера баз данных, которая создается утилитой qhb_basebackup. В сочетании с файлами WAL может использоваться в качестве начальной точки для восстановления, трансляции журналов или потоковой репликации.

Блокировка

Механизм, позволяющий процессу ограничивать или запрещать параллельный доступ к ресурсу.

Ветвь

Каждый из отдельных наборов файлов-сегментов, в которых хранится отношение. В основной ветви находятся собственно данные отношения. Помимо нее существуют две дополнительные ветви для метаданных: карта свободного пространства и карта видимости. У нежурналируемых отношений также имеется ветвь инициализации.

Владелец кластера

Пользователь операционной системы, который владеет каталогом данных и от имени которого запускается процесс qhb. Необходимо, чтобы этот пользователь существовал до создания нового кластера баз данных.

В операционных системах с пользователем root указанному пользователю не разрешается быть владельцем кластера.

Внешний ключ

Вид ограничения, определяемый для одного или нескольких столбцов в таблице и требующий, чтобы значения в этих столбцах указывали на ноль или одну строку в другой (или, в редких случаях, той же) таблице.

Временная таблица

Таблица, существующая либо в рамках сеанса, либо в рамках транзакции, в соответствии с выбранным при ее создании режимом. Такие таблицы не являются журналируемыми, и их содержимое не видно из других сеансов. Временные таблицы часто применяются для хранения промежуточных данных в ходе многоэтапной операции.

Подробную информацию см. на справочной странице команды CREATE TABLE.

Вспомогательный процесс

Процесс внутри экземпляра СУБД, который отвечает за некоторую конкретную фоновую задачу для этого экземпляра. К вспомогательным процессам относятся процесс запуска автовакуума (но не рабочие процессы автоовакуума), фоновый процесс записи, процесс контрольных точек, процесс протоколирования, процесс запуска, процесс архивирования WAL, приемник WAL (но не передатчики WAL), а также процесс записи WAL.

Домен

Пользовательский тип данных, основанный на другом нижележащем типе данных. Он действует так же, как нижележащий тип, за исключением возможного ограничения набора допустимых значений.

Подробную информацию см. в разделе Типы доменов.

Журнал упреждающей записи

Журнал, в котором отслеживаются изменения в кластере баз данных, производимые при выполнении операций пользователями и самой системой. Он содержит множество отдельных записей WAL, вносимых последовательно в файлы WAL.

Журналируемость

Таблица считается журналируемой, если вносимые в нее изменения отсылаются в WAL. По умолчанию все обычные таблицы являются журналируемыми. Таблицу можно сделать нежурналируемой либо во время создания, либо с помощью команды ALTER TABLE.

Записывание WAL (процесс)

Вспомогательный процесс, осуществляющий перенос записей WAL из разделяемой памяти в файлы WAL.

Подробную информацию см. в разделе Журнал упреждающей записи.

Запись

См. Кортеж.

Запись WAL

Низкоуровневое описание отдельного изменения данных. Оно содержит достаточно информации для повторного выполнения (воспроизведения) этого изменения в случае, если при сбое системы оно не зафиксировалось. В записях WAL используется невыводимый двоичный формат.

Подробную информацию см. в разделе Внутреннее устройство WAL.

Запись журнала

Устаревшее название записи WAL.

Запрос

Обращение, передаваемое клиентом обслуживающему процессу, в результате выполнения которого обычно либо выдаются результаты, либо меняются данные в базе.

Идентификатор транзакции

Числовой уникальный идентификатор, последовательно назначаемый каждой транзакции при первой операции, меняющей базу данных. Часто он сокращенно обозначается xid. Когда эти идентификаторы хранятся на диске, каждый занимает всего 32 бита, поэтому сгенерировать их можно только примерно для 4 миллиардов пишущих транзакций. Чтобы система могла работать дольше, дополнительно используются эпохи, размер которых также составляет 32 бита. Когда счетчик транзакций достигает максимального значения xid, он сбрасывается до 3 (меньшие значения зарезервированы), и значение эпохи увеличивается на 1. В некоторых контекстах значения эпохи и xid рассматриваются вместе как одна 64-битная величина; более подробную информацию см. в разделе Транзакции и идентификаторы.

Подробную информацию см. в разделе Типы идентификаторов объектов.

Изолированность

Свойство, которое заключается в том, что результаты транзакции не видны для параллельных транзакций, пока она не зафиксирована. Это одно из свойств ACID.

Подробную информацию см. в разделе Изоляция транзакций.

Индекс (отношение)

Отношение, содержащее данные, выведенные из таблицы или материализованного представления. Его внутренняя структура поддерживает быстрый доступ и извлечение исходных данных.

Подробную информацию см. на справочной странице команды CREATE INDEX.

Карта видимости (ветвь)

Структура хранения, содержащая метаданные о каждой странице данных в основной ветви таблицы. Для записи о каждой странице в ней отводится два бита: первый (all-visible, полностью видимая) показывает, что все кортежи в странице видны всем транзакциям, а второй (all-frozen, полностью замороженная) — что все кортежи в странице помечены как замороженные.

Карта свободного пространства (ветвь)

Структура хранения, содержащая метаданные о каждой странице данных в основной ветви таблицы. В записи карты свободного пространства для каждой страницы хранится информация об объеме, доступном для будущих кортежей, при этом сама она специально структурирована для эффективного поиска свободного места для нового кортежа заданного размера.

Подробную информацию см. в разделе Карта свободного пространства.

Каталог

В стандарте SQL этот термин обозначает то, что в терминологии QHB называется базой данных.

(Не путайте это понятие с понятием системного каталога).

Подробную информацию см. в разделе Обзор главы «Управление базами данных».

Каталог данных

Базовый каталог в файловой системе сервера, содержащий все файлы данных и подкаталоги, связанные с кластером баз данных (за исключением табличных пространств и, возможно, WAL). Обычно на каталог данных ссылается переменная среды PGDATA.

Каталог данных в совокупности со всеми дополнительными табличными пространствами образует хранилище данных кластера.

Подробную информацию см. в разделе Структура файлов базы данных.

Класс (устаревшее)

См. Отношение.

Кластер баз данных

Совокупность баз данных и глобальных объектов SQL, а также их общих статических и динамических метаданных. Иногда также называется просто кластером. Кластер баз данных создается с помощью программы qhb_bootstrap (или initdb).

В QHB термин кластер иногда обозначает также экземпляр СУБД. (Не путайте этот термин с командой SQL CLUSTER.)

См. также термин владелец кластера — владелец кластера в операционной системе и термин начальный суперпользователь — владелец кластера QHB.

Клиент (процесс)

Любой процесс, возможно, удаленный, который запускает сеанс путем подключения к экземпляру СУБД для взаимодействия с базой данных.

Ключ

Средство идентификации строки в таблице или другом отношении по значениям, содержащимся в одном или нескольких атрибутах этого отношения.

Контрольная точка

Точка в последовательности записей WAL, в которой гарантируется, что в файлы данных кучи и индекса попала вся информация из разделяемой памяти, измененная до этой контрольной точки; для обозначения этой точки в WAL записывается и сбрасывается запись контрольной точки.

Контрольной точкой также называется процесс выполнения всех действий, необходимых для достижения контрольной точки в приведенном выше определении. Этот процесс запускается при выполнении предопределенных условий, например, по истечении заданного времени или после помещения в журнал некоторого объема записей; также ее может вызвать пользователь командой CHECKPOINT.

Подробную информацию см. в разделе Конфигурация WAL.

Кортеж

Упорядоченная совокупность атрибутов. Порядок атрибутов может определяться таблицей (или другим отношением), в которой содержится кортеж. В этом случае кортеж часто называют строкой. Он также может определяться структурой результирующего множества; такие кортежи иногда называют записями.

Куча

Содержит значения атрибутов строк (то есть непосредственно данные) отношения. Куча размещается в одном или нескольких файловых сегментах в основной ветви отношения.

Мастер (сервер)

См. Основной сервер.

Материализованное представление (отношение)

Отношение, которое определяется оператором SELECT (подобно обычному представлению), но при этом хранит данные как обычная таблица. Его содержимое нельзя изменить операторами INSERT, UPDATE, DELETE или MERGE.

Подробную информацию см. на справочной странице команды CREATE MATERIALIZED VIEW.

Материализованность

Свойство информации, означающее, что она была вычислены заранее и сохранена для последующего использования, а не вычисляется каждый раз на лету.

Этот термин используется применительно к материализованным представлениям и означает, что данные, выведенные из запроса представления, сохраняются на диске отдельно от источника этих данных.

Этот термин также используется применительно к некоторым многоэтапным запросам и означает, что данные, полученные при выполнении некоторого этапа, сохраняются в памяти (и могут быть вытеснены на диск), благодаря чему они могут быть многократно прочитаны на следующем этапе.

Многоверсионное управление параллельным доступом (MVCC)

Механизм, позволяющий нескольким транзакциям читать и записывать одни и те же строки и при этом не ждать друг друга. В QHB для реализации MVCC создаются копии (версии) кортежей, когда их данные меняются; после того, как все транзакции, которым были видны старые версии, завершаются, эти версии должны быть удалены.

Мусорный объем

Объем памяти на страницах данных, не занимаемый текущими версиями строк, например, неиспользуемый (свободный) объем или объем, занятый устаревшими версиями строк.

Начальный суперпользователь

Первый пользователь, инициализированный в кластере баз данных.

Этот пользователь владеет всеми таблицами системного каталога в каждой базе данных. Кроме того, это роль, от которой исходят все назначенные права. По этим причинам эту роль нельзя удалять.

Также эта роль ведет себя как обычный суперпользователь базы данных.

Нежурналируемость

Свойство некоторых отношений, заключающееся в том, что изменения в них не отражаются в журнале WAL. Для таких отношений отсутствует возможность репликации и восстановления после сбоя.

Нежурналируемые таблицы применяются в основном для хранения промежуточных рабочих данных, которыми совместно пользуются различные процессы.

Временные таблицы всегда являются нежурналируемыми.

Обертка сторонних данных

Способ представления данных, находящихся не в локальной базе данных, таким образом, что они отображаются как содержащиеся в локальных таблицах. Обертка сторонних данных позволяет определить сторонний сервер и сторонние таблицы.

Подробную информацию см. на справочной странице команды CREATE FOREIGN DATA WRAPPER.

Область данных

См. Каталог данных.

Обслуживающий процесс (backend)

Процесс экземпляра СУБД, который реализует сеанс клиента и обрабатывает его запросы.

(Не путайте это понятие со схожими понятиями фоновый рабочий процесс и фоновый процесс записи.)

Объект SQL

Любой объект, который может быть создан командой CREATE. Большинство объектов относятся к одной базе данных, поэтому они обычно называются локальными объектами.

Большинство локальных объектов принадлежат определенным схемам в соответствующей базе данных, как например отношения (любых видов), подпрограммы (любых видов), типы данных и т. д. Имена таких объектов одного вида в отдельной схеме должны быть уникальными.

Кроме того, существуют локальные объекты, не принадлежащие схемам, например расширения, приведения типов данных и обертки сторонних данных. Имена таких объектов одного вида должны быть уникальными в базе данных.

Другие виды объектов, например роли, табличные пространства, источники репликации, подписки логической репликации, а также сами базы данных не являются локальными объектами SQL, так как они существуют вне какой-либо отдельной базы данных; они называются глобальными объектами. Имена таких объектов должны быть уникальными во всем кластере баз данных.

Подробную информацию см. в разделе Обзор главы «Управление базами данных».

Ограничение

Условие, определяющее допустимость значений данных в таблице или атрибутов в домене.

Подробную информацию см. в разделе Ограничения партиционированных таблиц.

Ограничение уникальности

Вид ограничения, определенного для отношения, который ограничивает значения, допустимые в одном или нескольких столбцах таким образом, чтобы каждое значение или набор значений могли присутствовать в отношении только один раз — то есть ни в какой другой строке отношения не может быть значений, равных данным.

Так как значения NULL не считаются равными друг другу, допускается существование нескольких строк со значениями NULL, и при этом ограничение уникальности не нарушается.

Оконная функция (подпрограмма)

Вид функций, используемых в запросах, который применяется к партиции результирующего множества запроса; результат такой функции зависит от значений в строках одной партиции или рамки.

В качестве оконных могут использоваться и агрегатные функции, но оконные функции способны, например, определять ранг для каждой строки в партиции. Оконные функции также называют аналитическими функциями.

Подробную информацию см. в разделе Оконные функции.

Оптимизатор

См. Планировщик запросов.

Основной сервер

Когда две и более базы данных связываются вместе посредством репликации, сервер, считающийся достоверным источником информации, называется основным или мастером.

Отношение

Обобщенное название для всех объектов в базе данных, имеющих имя и упорядоченный список атрибутов. Отношениями являются таблицы, последовательности, представления, сторонние таблицы, материализованные представления, составные типы и индексы.

В более общем смысле отношением является набор кортежей; например, результат выполнения запроса тоже отношение.

В QHB название класс является устаревшим синонимом отношения.

Очистка

Процесс удаления устаревших версий кортежей из таблиц или материализованных представлений и другая тесно связанная с ним обработка данных, потребность в которой продиктована реализацией MVCC в QHB. Очистку можно запустить с помощью команды VACUUM, но она также может осуществляться автоматически процессами автовакуума.

Подробную информацию см. в разделе Регулярная очистка.

Параллельный доступ

Концепция, определяющая возможность одновременного выполнения нескольких независимых операций в одной базе данных. В QHB параллельный доступ реализуется механизмом многоверсионного управления параллельным доступом.

Параллельный запрос

Возможность распределять выполнение частей запроса между параллельными процессами, используя возможности серверов с несколькими ЦП.

Партиционированная таблица (отношение)

Отношение, которое по смыслу не отличается от таблицы, но его хранилище распределено между несколькими партициями.

Партиция

Одно из нескольких отдельных (не пересекающихся) подмножеств большего множества.

Применительно к партиционированной таблице: одна из таблиц, содержащих часть данных партиционированной таблицы, которая называется родительской. Партиция сама по себе является таблицей, поэтому запросы могут обращаться к ней напрямую; при этом партиция иногда тоже может быть партиционированной таблицей, позволяя создавать иерархии.

Применительно к оконным функциям в запросе партиция соответствует пользовательскому критерию, определяющему, какие из соседних строк результирующего множества запроса может обрабатывать такая функция.

Первичный ключ

Особый вид ограничения уникальности, определяемого для таблицы или другого отношения, который дополнительно гарантирует, что все атрибуты в первичном ключе не имеют значений NULL. Как можно понять из названия, в таблице может быть только один первичный ключ, хотя в ней может быть несколько ограничений уникальности, также не допускающих значения NULL в атрибутах.

Передатчик WAL (процесс)

Специальный обслуживающий процесс, который передает WAL по сети. Принимать записи может приемник WAL на реплике, утилита qhb_receivewal или любая другая клиентская программа, понимающая протокол репликации.

Переработка

См. Файл WAL.

Планировщик запросов

Компонент QHB, предназначенный для определения (планирования) наиболее эффективного способа выполнения запросов. Также называется оптимизатором запросов, оптимизатором или просто планировщиком.

Подключение

Установленная линия передачи данных между клиентским процессом и обслуживающим процессом, обычно сетевая, в рамках которой реализуется сеанс. Иногда этот термин употребляется как синоним сеанса.

Подробную информацию см. в разделе Подключения и аутентификация.

Подпрограмма

Определенный набор инструкций, сохраненный в СУБД, который может вызываться для выполнения. Подпрограммы могут быть написаны на самых разных языках программирования. Подпрограммы могут быть функциями (включая функции, возвращающие множества, и триггерные функции), агрегатными функциями и процедурами.

В QHB уже определено множество подпрограмм, но при этом возможно и добавление пользовательских подпрограмм.

Пользователь

Роль с правом входа в систему (см. раздел Атрибуты ролей).

Последовательность (отношение)

Вид отношения, использующийся для генерирования значений. Как правило, генерируются последовательные неповторяющиеся числа. Обычно последовательности используются для генерирования суррогатных значений первичного ключа.

Представление

Отношение, которое определяется оператором SELECT, но само по себе не хранится. При каждом обращении к представлению его определение подставляется в запрос, как если бы пользователь просто ввел его в качестве подзапроса вместо имени представления.

Подробную информацию см. на справочной странице команды CREATE VIEW.

Приведение

Преобразование элемента данных из его текущего типа в другой тип данных.

Подробную информацию см. на справочной странице команды CREATE CAST.

Приемник WAL (процесс)

Вспомогательный процесс, который выполняется на реплике и получает WAL от основного сервера для воспроизведения процесса запуска.

Подробную информацию см. в разделе Доставка журналов на резервные серверы.

Проверочное ограничение

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

Подробную информацию см. в разделе Ограничения партиционированных таблиц.

Протоколирование (процесс)

Вспомогательный процесс, который в активном состоянии записывает сообщения о событиях в базе данных в свой текущий файл журнала. Данный файл сменяется новым, когда выполняется некоторый критерий (ограничение по времени или объему). Также этот процесс называется syslogger.

Подробную информацию см. в разделе Регистрация ошибок и протоколирование.

Процедура (подпрограмма)

Тип подпрограммы, чьей отличительной особенностью является отсутствие возвращаемых значений и возможность содержать операторы управления транзакциями, например COMMIT и ROLLBACK. Вызываются процедуры командой CALL.

Подробную информацию см. на справочной странице команды CREATE PROCEDURE.

Процесс запуска

Вспомогательный процесс, который воспроизводит WAL во время восстановления после сбоя и в физической реплике.

(Это имя имеет исторические причины: процесс запуска был назван так до того, как была реализована репликация; имя отражает задачу процесса, поскольку он связан с запуском сервера после сбоя.)

Процесс контрольных точек (checkpointer)

Вспомогательный процесс, обеспечивающий выполнение процедуры контрольной точки.

Прочность

Гарантия того, что после фиксирования транзакции произведенные ей изменения не будут потеряны даже в случае системного сбоя или аварийного завершения работы сервера. Это одно из свойств ACID.

Разделяемая память

Область оперативной памяти, совместно используемая процессами, относящимися к одному экземпляру СУБД. В нее отображаются фрагменты файлов базы данных, а также она служит временным хранилищем для записей WAL и содержит дополнительную общую информацию. Обратите внимание, что разделяемая память относится ко всему экземпляру СУБД, а не к отдельной базе данных в нем.

Самая крупная часть разделяемой памяти носит название разделяемые буферы, и в них в виде страниц отображаются фрагменты файлов данных. Страница, измененная в буфере, но еще не записанная в файловую систему, называется «грязной».

Подробную информацию см. в подразделе Память.

Расширение

Дополнительный программный модуль, который может быть установлен в экземпляре СУБД для расширения его функциональности.

Подробную информацию см. в разделе Упаковка связанных объектов в расширение.

Регистрационный номер транзакции в журнале (LSN)

Байтовое смещение в WAL, монотонно увеличивающееся с каждой новой записью WAL.

Подробную информацию см. в описании типа pg_lsn и разделе Внутреннее устройство WAL.

Резервный сервер

См. Реплика.

Результирующее множество

Отношение, передаваемое из обслуживающего процесса клиенту после выполнения команды SQL, обычно SELECT, но если указать предложение RETURNING, это также могут быть команды INSERT, UPDATE или DELETE.

То, что результирующее множество является отношением, означает, что один запрос может фигурировать в определении другого запроса, превращаясь в подзапрос.

Реплика (сервер)

База данных, связанная с основной базой и содержащая копию некоторых или всех ее данных. Прежде всего такие базы создаются для расширения возможностей доступа к этим данным, а также для обеспечения доступности данных в случае потери основного сервера.

Репликация

Процесс переноса данных с одного сервера на другой, называемый репликой. Этот процесс может принимать форму физической репликации, когда все изменения в файлах копируются с одного сервера на другой дословно, или логической репликации, когда изменения в определенном подмножестве данных передаются с помощью представления на более высоком уровне.

Роль

Совокупность прав доступа к экземпляру СУБД. Принадлежность к роли тоже может считаться правом, которым можно наделять другие роли. Это часто используется для удобства распределения прав или когда нужно дать одинаковые права множеству пользователей.

Подробную информацию см. на справочной странице команды CREATE ROLE.

Сеанс

Состояние, позволяющее клиенту взаимодействовать с обслуживающим процессом, используя установленное подключение.

Сегмент

См. Файловый сегмент.

Сегмент WAL

См. Файл WAL.

Сервер

Компьютер, на котором работают экземпляры QHB. Термин сервер может обозначать настоящее аппаратное оборудование, контейнер или виртуальную машину.

Иногда сервером также называют экземпляр СУБД или хост.

Сервер баз данных

См. Экземпляр СУБД.

Сетевой узел (хост)

Компьютер, взаимодействующий с другими компьютерами по сети. Иногда так называют сервер. Также это название применимо к компьютеру, на котором работают клиентские процессы.

Система накопительной статистики

Система, которая в активном состоянии накапливает статистическую информацию о действиях экземпляра сервера.

Подробную информацию см. в разделе Система накопительной статистики.

Системный каталог

Совокупность таблиц, которые описывают структуру всех объектов SQL экземпляра СУБД. Системный каталог располагается в схеме pg_catalog. Эти таблицы содержат данные во внутреннем представлении и, как правило, не считаются полезными для изучения пользователями. В более понятном виде часть этой информации доступна в ряде удобных для пользователя представлений, также находящихся в схеме pg_catalog. Кроме того, существует схема information_schema (см. главу Информационная схема), содержащая дополнительные таблицы и представления, из которых можно получить отчасти ту же, но также и некоторую другую информацию, предоставляемую в соответствии с требованиями стандарта SQL.

Подробную информацию см. в разделе Схемы.

Согласованность

Свойство базы, суть которого состоит в том, что ее данные всегда удовлетворяют ограничениям целостности. Транзакциям позволяется временно нарушать некоторые из этих ограничений до фиксирования, но если к моменту завершения транзакции эти нарушения не устраняются, транзакция автоматически откатывается. Это одно из свойств ACID.

Соединение (join)

Операция (и ключевое слово SQL), выполняемая в запросах для объединения данных из нескольких отношений.

Сопоставление пользователей

Трансляция учетных записей локальной базы данных в учетные записи удаленной системы данных, определяемая оберткой сторонних данных.

Подробную информацию см. на справочной странице команды CREATE USER MAPPING.

Ссылочная целостность

Средство ограничения данных в каком-либо отношении по внешнему ключу таким образом, чтобы им обязательно соответствовали данные в другом отношении.

Стандарт SQL

Совокупность документов, определяющих язык SQL.

Столбец

Атрибут, относящийся к таблице или представлению.

Сторонний сервер

Именованная совокупность сторонних таблиц, для обращения к которым используется одна и та же обертка сторонних данных, и которые также имеют общие параметры конфигурации.

Подробную информацию см. на справочной странице команды CREATE SERVER.

Сторонняя таблица (отношение)

Отношение, строки и столбцы которого представляются сходными с таковыми в обычной таблице, но запросы к нему проходят через обертку сторонних данных, которая в ответ возвращает результирующие множества, структурированные согласно определению сторонних таблиц.

Подробную информацию см. на справочной странице команды CREATE FOREIGN TABLE.

Страница данных

Основная структура, в которой хранятся данные отношений. Все страницы имеют одинаковый размер. Страницы данных обычно хранятся на диске, каждая в определенном файле, и могут быть прочитаны в разделяемые буферы, где могут быть изменены, став в результате грязными. При записи на диск они вновь становятся чистыми. Новые страницы, изначально существующие только в памяти, тоже считаются грязными, пока не будут записаны на диск.

Стратегия доступа к буферу

Некоторые операции будут обращаться к большому количеству страниц. Стратегия доступа к буферу помогает предотвратить вытеснение этими операциями слишком большого количества страниц из разделяемых буферов.

Стратегия доступа к буферу устанавливает ссылки на ограниченное количество разделяемых буферов и повторно использует их циклически. Когда операции требуется новая страница, целевой буфер выбирается из буферов в цикле стратегии, что может потребовать сброса грязных данных страницы и, возможно, также несброшенного WAL в постоянное хранилище.

Стратегии доступа к буферу используются для различных операций, таких как последовательное сканирование больших таблиц, VACUUM, COPY, CREATE TABLE AS SELECT, ALTER TABLE, CREATE DATABASE, CREATE INDEX и CLUSTER.

Строка

См. Кортеж.

Суперпользователь

В данной документации этот термин используется как синоним суперпользователя базы данных.

Суперпользователь базы данных

Роль, имеющая статус суперпользователя (см. раздел Атрибуты ролей).

Часто называется также суперпользователь.

Схема

Схема — это пространство имен для объектов SQL, принадлежащих одной базе данных. Каждый отдельный объект SQL должен располагаться ровно в одной схеме.

Все системные объекты SQL располагаются в схеме pg_catalog.

В более общем смысле термин схема означает совокупность всех описаний данных (определений таблиц, ограничений, комментариев и т. д.) в определенной базе или в ее подмножестве.

Подробную информацию см. в разделе Схемы.

Таблица

Совокупность кортежей, имеющих общую структуру данных (одинаковое количество атрибутов в том же порядке, имеющих одинаковые имена и типы). Таблица является наиболее распространенным видом отношения в QHB.

Подробную информацию см. на справочной странице команды CREATE TABLE.

Табличное пространство

Именованное местоположение в файловой системе сервера. Все объекты SQL, для которых требуется хранилище за рамками их определений в системном каталоге, должны располагаться в некотором табличном пространстве. Изначально в кластере баз данных есть только одно табличное пространство, которое называется pg_default и по умолчанию содержит все объекты SQL.

Подробную информацию см. в разделе Табличные пространства.

Точка перезапуска

Вариант контрольной точки, выполняемый на реплике.

Подробную информацию см. в разделе Конфигурация WAL.

Точка сохранения

Специальная отметка в последовательности этапов транзакции. Изменения данных, произведенные после этого момента времени, можно отменить, вернув данные в состояние на момент сохранения.

Подробную информацию см. на справочной странице команды SAVEPOINT.

Транзакций в секунду (TPS)

Среднее количество транзакций, выполняющихся за секунду, подсчитанное по всем активным сеансам за время наблюдения. Эта величина используется для оценки производительности экземпляра СУБД.

Транзакция

Совокупность команд, которые должны выполниться как одна атомарная команда: они все вместе завершаются успешно либо отменяются, а результаты их выполнения не видны для других сеансов до завершения транзакции и, возможно, даже позже (в зависимости от уровня изоляции).

Подробную информацию см. в разделе Изоляция транзакций.

Триггер

Функция, которую можно определить для выполнения какой-либо определенной операции (INSERT, UPDATE, DELETE, TRUNCATE) с некоторым отношением. Триггер выполняется в рамках той же транзакции, что и вызвавший его оператор, и если в функции триггера произойдет ошибка, этот оператор тоже не будет выполнен успешно.

Подробную информацию см. на справочной странице команды CREATE TRIGGER.

Файл WAL

Также называется сегментом WAL или файлом сегмента WAL. Представляет собой один из последовательно нумеруемых файлов, служащих хранилищем WAL. Все эти файлы имеют одинаковый предопределенный размер и записываются по порядку. В файле WAL перемежаются изменения, производимые в нескольких параллельных сеансах. В случае сбоя системы эти файлы также по порядку считываются, и все записанные в них изменения воспроизводятся, в результате чего система восстанавливается до состояние, в котором находилась перед сбоем.

Каждый файл WAL может быть освобожден после того, как во время контрольной точки все изменения из него будут переписаны в соответствующие файлы данных. Освобождение файла можно осуществить путем удаления или переименования (это называется переработкой), чтобы использовать его в будущем.

Подробную информацию см. в разделе Внутреннее устройство WAL.

Файл журнала

Файлы журналов содержат удобные для восприятия человеком текстовые строки о событиях. Например, в журнале могут фиксироваться ошибки авторизации, длительные запросы и т. д.

Подробную информацию см. в разделе Обслуживание файлов журнала.

Файловый сегмент

Физический файл, где хранятся данные для определенного отношения. Размер сегментов ограничивается параметром конфигурации (обычно это 1 гигабайт), поэтому отношения большего объема разбиваются на несколько сегментов.

Подробную информацию см. в разделе Структура файлов базы данных.

(Не путайте это понятие с похожим понятием сегмент WAL.)

Фиксирование

Акт успешного завершения транзакции в базе данных, обеспечивающий прочность и видимость ее результатов для других транзакций.

Подробную информацию см. на справочной странице команды COMMIT.

Фоновая запись (процесс)

Вспомогательный процесс, записывающий «грязные» страницы данных из разделяемой памяти в файловую систему. Он периодически запускается, но лишь на короткое время, чтобы вызываемые им затратные операции ввода/вывода распределялись во времени во избежание значительных пиков нагрузки, блокирующих другие процессы.

Подробную информацию см. в подразделе Фоновая запись.

Фоновый рабочий процесс

Процесс внутри экземпляра СУБД, выполняющий системный или пользовательский код. Обеспечивает инфраструктуру для различного функционала QHB, в частности, для логической репликации и параллельных запросов. Кроме того, отдельные рабочие процессы могут создаваться расширениями.

Подробную информацию см. в главе Фоновые рабочие процессы.

Функция (подпрограмма)

Тип подпрограммы, который получает ноль или более аргументов, возвращает ноль или более выходных значений и может выполняться только в рамках одной транзакции. Функции вызываются как часть запроса, например, посредством SELECT. Некоторые функции могут возвращать множества; они называются функциями, возвращающими множества.

Функции также можно использовать для активизации триггеров.

Подробную информацию см. на справочной странице команды CREATE FUNCTION.

Экземпляр СУБД

Группа обслуживающих и вспомогательных процессов, использующих общую область разделяемой памяти. Экземпляром СУБД управляет один процесс qhbmaster, а этот экземпляр управляет ровно одним кластером баз данных со всеми его базами. На одном сервере могут работать несколько экземпляров СУБД, если их TCP-порты не конфликтуют.

Конкретный экземпляр реализует весь основной функционал СУБД: доступ на чтение и запись к файлам, и разделяемой памяти, обеспечение свойств ACID, подключения к клиентским процессам, проверка прав, восстановление после сбоя, репликация и т. д.

Элемент данных

Внутреннее представление одного значения некоторого типа данных SQL.

Эпоха

См. Идентификатор транзакции.