Привет, Я DocuDroid!
Оценка ИИ поиска
Спасибо за оценку нашего ИИ поиска!
Мы будем признательны, если вы поделитесь своими впечатлениями, чтобы мы могли улучшить наш ИИ поиск для вас и других читателей.
GitHub

ALTER RESOURCE QUEUE

Изменяет ограничения ресурсной очереди.

Синтаксис

ALTER RESOURCE QUEUE <name> WITH ( <queue_attribute>=<value> [, ... ] )

где queue_attribute может быть следующим:

   ACTIVE_STATEMENTS=<integer>
   MEMORY_LIMIT='<memory_units>'
   MAX_COST=<float>
   COST_OVERCOMMIT={TRUE|FALSE}
   MIN_COST=<float>
   PRIORITY={MIN|LOW|MEDIUM|HIGH|MAX}
ALTER RESOURCE QUEUE <name> WITHOUT ( <queue_attribute> [, ... ] )

где queue_attribute может быть следующим:

   ACTIVE_STATEMENTS
   MEMORY_LIMIT
   MAX_COST
   COST_OVERCOMMIT
   MIN_COST
ПРИМЕЧАНИЕ

Для ресурсной очереди должен быть всегда определен атрибут ACTIVE_STATEMENTS либо MAX_COST (или определены оба). Не удаляйте оба этих атрибута для ресурсной очереди.

Описание

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

ALTER RESOURCE QUEUE WITHOUT удаляет указанные ограничения ресурса, которые были установлены ранее.

Параметры

Параметр Описание

name

Имя ресурсной очереди, ограничения которой необходимо изменить

ACTIVE_STATEMENTS <integer>

Количество активных операторов, отправленных пользователями в этой ресурсной очереди, разрешенных в системе в любой момент времени. Значение для ACTIVE_STATEMENTS должно быть целым числом больше 0. Чтобы сбросить ACTIVE_STATEMENTS до отсутствия ограничений, введите значение -1

MEMORY_LIMIT '<memory_units>'

Устанавливает общую квоту памяти для всех операторов, отправленных пользователями в этой ресурсной очереди. Единицы памяти могут быть указаны в виде kB, MB или GB. Минимальная квота памяти для ресурсной очереди составляет 10MB. Максимума нет; однако верхняя граница во время выполнения запроса ограничена физической памятью хоста сегмента. Значение по умолчанию — без ограничений (-1)

MAX_COST <float>

Общая стоимость (по оценке оптимизатора запросов) операторов, отправленных пользователями в этой ресурсной очереди, разрешенных в системе в любой момент времени. Значение для MAX_COST указывается как число с плавающей точкой (например, 100.0) или может быть указано в экспоненциальной форме (например, 1e+2). Чтобы сбросить MAX_COST до отсутствия ограничений, введите значение -1.0

COST_OVERCOMMIT <boolean>

Если ресурсная очередь ограничена на основе стоимости запроса, администратор может разрешить превышение стоимости (COST_OVERCOMMIT=TRUE, установленное по умолчанию). Это означает, что запрос, превышающий допустимый порог стоимости, будет разрешен к выполнению, но только когда система простаивает. Если указано COST_OVERCOMMIT=FALSE, запросы, превышающие лимит стоимости, всегда будут отклоняться и никогда не будут выполняться

MIN_COST <float>

Запросы со стоимостью ниже этого предела не будут ставиться в очередь и будут выполняться немедленно. Стоимость измеряется в единицах извлечения страниц с диска; 1.0 равно одному последовательному чтению страницы с диска. Значение для MIN_COST указывается как число с плавающей точкой (например, 100.0) или может быть указано в экспоненциальной форме (например, 1e+2). Чтобы сбросить MIN_COST до отсутствия ограничений, введите значение -1.0

PRIORITY={MIN|LOW|MEDIUM|HIGH|MAX}

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

Примечания

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

Когда управление ресурсами на основе ресурсных очередей активно, используйте ограничения MEMORY_LIMIT и ACTIVE_STATEMENTS для ресурсных очередей, а не настраивайте ограничения на основе стоимости. Даже при использовании GPORCA Greengage DB может вернуться к использованию планировщика Postgres для определенных запросов, поэтому использование ограничений на основе стоимости может привести к неожиданным результатам.

Примеры

Изменить лимит активных запросов для ресурсной очереди:

ALTER RESOURCE QUEUE myqueue WITH (ACTIVE_STATEMENTS = 20);

Изменить лимит памяти для ресурсной очереди:

ALTER RESOURCE QUEUE myqueue WITH (MEMORY_LIMIT = '2GB');

Сбросить максимальный и минимальный лимит стоимости запроса для ресурсной очереди до отсутствия ограничений:

ALTER RESOURCE QUEUE myqueue WITH (MAX_COST = -1.0, MIN_COST = -1.0);

Сбросить лимит стоимости запроса для ресурсной очереди до 3e+10 (или 30000000000.0) и не разрешать превышение (overcommit):

ALTER RESOURCE QUEUE myqueue WITH (MAX_COST = 3e+10, COST_OVERCOMMIT = FALSE);

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

ALTER RESOURCE QUEUE myqueue WITH (PRIORITY = MIN);

Удалить ограничения MAX_COST и MEMORY_LIMIT из ресурсной очереди:

ALTER RESOURCE QUEUE myqueue WITHOUT (MAX_COST, MEMORY_LIMIT);

Совместимость

Оператор ALTER RESOURCE QUEUE является расширением Greengage DB. Этой команды нет в стандартном PostgreSQL.

См. также