Настройки Greenplum®
Для кластера в сервисе Yandex MPP Analytics for PostgreSQL можно задать настройки, которые относятся к Greenplum®. Часть настроек задается на уровне кластера, часть — на уровне внешних источников данных: S3, JDBC, HDFS, Hive.
Метки рядом с названием настройки позволяют определить, с помощью какого интерфейса задается значение этой настройки: консоль управления, CLI, API, SQL или Terraform. Метка Все интерфейсы указывает, что поддерживаются все перечисленные интерфейсы.
В зависимости от выбранного интерфейса одна и та же настройка будет представлена по-разному. Например, max_connections в консоли управления соответствует:
max_connectionsв gRPC API;maxConnectionsв REST API.
Зависимость настроек от размера хранилища
Значения некоторых настроек Greenplum® могут быть автоматически скорректированы при изменении размера хранилища:
- Если значения не были заданы или не подходят новому размеру, будут применены настройки по умолчанию для этого размера.
- Если заданные вручную настройки подходят для нового размера, они не будут изменены.
Список настроек, зависящих от размера хранилища:
Настройки СУБД уровня кластера
Данный раздел содержит информацию о конфигурационных параметрах Greenplum®,
доступных для редактирования силами пользователя,
а также важных параметров по умолчанию, которые пользователь не может редактировать.
Список параметров отчасти дублирует тот, что есть в
официальной документации
Важное отличие данного списка параметров заключается в следующем:
- в рамках сервиса для некоторых параметров отличаются возможные (граничные) значения;
- в рамках сервиса для некоторых параметров отличаются значения по умолчанию;
- в рамках сервиса есть некоторые параметры,
Специфичные для сборки open-gpdb .
Контексты параметров
Контекст параметра определяет, на каком уровне и в каком интерфейсе параметр может быть определен.
Для Greenplum® используются следующие контексты параметров:
| Контекст | Позволяет задавать параметр через SET |
Требует перезапуска | Описание | Интерфейс |
|---|---|---|---|---|
user |
Да | Нет | Эти параметры можно задать для кластера или в рамках сессии с помощью команды SET. Любой пользователь может изменить значение параметра для своей сессии. Изменения на уровне кластера повлияют на существующие сессии только в том случае, если с помощью команды SET не было установлено локальное для сессии значение. |
Консоль управления CLI Terraform API |
backend |
Да * | Нет | Эти параметры можно задать для кластера или для конкретной сессии в пакете запроса на подключение (например, через переменную окружения PGOPTIONS в libpq). |
Консоль управления CLI Terraform API |
sighup |
Нет | Нет | Эти параметры можно задать только для кластера. | Консоль управления CLI Terraform API |
superuser |
Нет | Нет | Эти параметры можно задать только для кластера. | Консоль управления CLI Terraform API |
postmaster |
Нет | Да | Эти параметры можно задать только для кластера. | Консоль управления CLI Terraform API |
* Любой пользователь может изменить такие настройки для своей сессии, однако после запуска сессии эти настройки уже не меняются. Новые значения, определенные на уровне кластера, будут применяться только к сессиям, запущенным после применения.
Параметры, доступные пользователю для глобального управления
Ниже приведены параметры, которыми пользователь может управлять глобально на уровне кластера с помощью консоли управления, YC CLI, Terraform и API. Часть из этих параметров доступна также для локального управления на уровне сессии, пользователя или базы данных (зависит от контекста параметра).
gp_add_column_inherits_table_setting
| Доступен в версии | Тип | Допустимые значения | Значение по умолчанию | Контекст |
|---|---|---|---|---|
| 6.25 и выше | Boolean | true (on), false (off) |
false (off) |
user |
При добавлении столбца в оптимизированную для добавления данных колоночную таблицу (append-optimized)
С помощью команды ALTER TABLE этот параметр определяет, будут ли параметры сжатия данных таблицы для столбца (compresstype, compresslevel и blocksize) унаследованы от значений таблицы.
По умолчанию параметр отключен (false/off) — настройки сжатия данных таблицы не учитываются при добавлении столбца. Если значение параметра установлено как «включен» (true/on), то настройки сжатия данных таблицы учитываются.
При создании оптимизированной для добавления данных колоночной таблицы (append-optimized) можно задать параметры сжатия данных таблицы (compresstype, compresslevel и blocksize) в предложении WITH.
При добавлении столбца СУБД устанавливает каждый параметр сжатия данных на основе одного из следующих значений (в порядке приоритета):
- Настройка сжатия данных, указанная в предложении
ENCODINGкомандыALTER TABLE. - Если данный параметр конфигурации сервера установлен как включен (
true/on) — настройка сжатия данных, указанная в предложенииWITHпри создании таблицы. В противном случае настройка сжатия данных таблицы игнорируется. - Настройка сжатия данных, указанная в параметре конфигурации сервера gp_default_storage_options.
- Настройка сжатия данных по умолчанию.
Подробнее см. в документации Greenplum®
gp_autostats_mode
| Доступен в версии | Допустимые значения | Значение по умолчанию | Контекст |
|---|---|---|---|
| 6.25 и выше | none, on_change, on_no_stats |
on_no_stats |
user |
Указывает режим запуска автоматического сбора статистики с помощью ANALYZE.
Опция on_no_stats запускает сбор статистики для операций CREATE TABLE AS SELECT, INSERT или COPY в любых таблицах, для которых еще нет статистики.
Опция on_change запускает сбор статистики только в том случае, если количество затронутых строк превышает пороговое значение, определенное параметром gp_autostats_on_change_threshold.
Операции, которые могут запустить автоматический сбор статистики с on_change:
CREATE TABLE AS SELECT;UPDATE;DELETE;INSERT;COPY.
Примечание
Для партиционированных таблиц автоматический сбор статистики не запускается, если данные вставляются из родительской таблицы верхнего уровня. Автоматический сбор статистики запускается, если данные вставляются напрямую в таблицу, где хранятся данные партиционированной таблицы (статистика собирается только для этой таблицы).
Подробнее см. в документации Greenplum®
gp_autostats_on_change_threshold
| Доступен в версии | Тип | Допустимые значения | Значение по умолчанию | Контекст |
|---|---|---|---|---|
| 6.25 и выше | Integer | от 0 до 2147483647 | 2147483647 | user |
Указывает пороговое значение для автоматического сбора статистики, когда параметр gp_autostats_mode установлен в on_change. Если операция с таблицей затрагивает количество строк, превышающее это пороговое значение, выполняется ANALYZE, и для таблицы собирается статистика.
Подробнее см. в документации Greenplum®
gp_cached_segworkers_threshold
| Доступен в версии | Тип | Допустимые значения | Значение по умолчанию | Контекст |
|---|---|---|---|---|
| 6.25 и выше | Integer | от 1 до 10 | 5 | user |
Когда пользователь начинает сессию работы с базой данных и отправляет запрос, система создает группы рабочих процессов (gangs) на каждом сегменте для выполнения работы. После завершения работы worker-процессы на сегментах уничтожаются, за исключением некоторого количества, которое сохраняется в кэше — оно задается этим параметром.
Более низкое значение параметра позволяет экономить системные ресурсы на хостах с сегментами, но более высокое значение может повысить производительность в сценариях, когда последовательно отправляется множество сложных запросов.
Подробнее см. в документации Greenplum®
gp_enable_global_deadlock_detector
| Доступен в версии | Тип | Допустимые значения | Значение по умолчанию | Контекст |
|---|---|---|---|---|
| 6.25 и выше | Boolean | true (on), false (off) |
true (on) |
postmaster |
Включает или выключает глобальный детектор взаимных блокировок (Global Deadlock Detector), который используется для управления одновременными операциями UPDATE и DELETE в таблицах с кучей (heap tables) с целью повышения производительности.
Если глобальный детектор взаимных блокировок выключен, база данных выполняет одновременные операции обновления и удаления в таблице с кучей (heap tables) последовательно. Если глобальный детектор взаимных блокировок включен,
Одновременные обновления разрешены, и детектор определяет наличие взаимной блокировки и устраняет ее, отменяя один или несколько фоновых процессов, связанных с самыми «молодыми» транзакциями.
Подробнее см. в документации Greenplum®
gp_enable_zstd_memory_accounting
Примечание
Параметр, специфичный для сборки open-gpdb
| Доступен в версии | Тип | Допустимые значения | Значение по умолчанию | Контекст |
|---|---|---|---|---|
| 6.28 и выше | Boolean | true (on), false (off) |
true (on) |
user |
Параметр управляет функциональностью учета памяти ZSTD. Включение параметра (true/on) позволяет избегать выхода ZSTD за пределы памяти, доступной ресурсному менеджеру (группе или очереди), благодаря перемещению ZSTD в отдельный контекст памяти zstd_context. Это приводит к снижению вероятности неконтролируемого падения кластера из-за нехватки памяти.
gp_global_deadlock_detector_period
| Доступен в версии | Тип | Допустимые значения | Значение по умолчанию | Контекст |
|---|---|---|---|---|
| 6.25 и выше | Integer | от 5 до 2147483647 | 120 | sighup |
Указывает интервал выполнения (в секундах) фонового рабочего процесса глобального детектора взаимных блокировок (Global Deadlock Detector, см. параметр gp_enable_global_deadlock_detector).
Подробнее см. в документации Greenplum®
gp_max_plan_size
| Доступен в версии | Тип | Допустимые значения | Значение по умолчанию | Контекст |
|---|---|---|---|---|
| 6.25 и выше | Integer | от 0 до 2147483647 | 0 | superuser |
Определяет максимально допустимый суммарный несжатый размер плана выполнения запроса, умноженный на количество операторов Motion (слайсов, slices) в плане. Если размер плана запроса превышает указанное значение, запрос отменяется и возвращается ошибка. Значение 0 означает, что размер плана не отслеживается. Измеряется в байтах. Значение параметра должно быть кратно 1 МБ.
Подробнее см. в документации Greenplum®
gp_max_slices
| Доступен в версии | Тип | Допустимые значения | Значение по умолчанию | Контекст |
|---|---|---|---|---|
| 6.25 и выше | Integer | от 10 до 100 | 100 | user |
Указывает максимальное количество слайсов (slices), которые могут быть сгенерированы запросом. Если запрос генерирует больше слайсов, чем указано в параметре, база данных возвращает ошибку и не выполняет запрос.
Выполнение запроса, который генерирует большое количество слайсов, может повлиять на производительность базы данных. Например, запрос, содержащий операторы UNION или UNION ALL для нескольких сложных представлений,
может сгенерировать большое количество слайсов. Чтобы просмотреть статистику срезов для запроса, можно выполнить команду EXPLAIN.
Важно
Допустимые значения на уровне сервиса отличаются от допустимых значений самой СУБД. Это сделано для того, чтобы снизить вероятность неконтролируемого падения кластера из-за нехватки памяти (OOM), вызванной попыткой исполнения «неоптимального» запроса. Данное ограничение можно обойти, переопределив значение параметра на уровне сессии, пользователя или базы данных.
Подробнее см. в документации Greenplum®
gp_resource_group_memory_limit
| Доступен в версии | Тип | Допустимые значения | Значение по умолчанию | Контекст |
|---|---|---|---|---|
| 6.25 и выше | Real | от 0.1 до 0.8 | 0.8 | postmaster |
Примечание
Параметр конфигурации применяется только при активированном управлении ресурсами на основе ресурсных групп.
Определяет максимальный процент системных ресурсов памяти, который может быть выделен группам ресурсов на каждом узле сегмента базы данных. Уменьшение значения параметра может быть оправдано в тех случаях, когда нужно выделить больше ресурсов вспомогательным компонентам, находящимся на узле сегмента базы данных (например, PXF).
Подробнее см. в документации Greenplum®
gp_vmem_protect_segworker_cache_limit
| Доступен в версии | Тип | Допустимые значения | Значение по умолчанию | Контекст |
|---|---|---|---|---|
| 6.25 и выше | Real | от 0 до 4096 | 500 | postmaster |
Если процесс выполнения запроса потребляет больше заданного объема памяти, то после завершения этот процесс не будет помещаться в кэш для использования в последующих запросах. В системах с большим количеством подключений или простаивающих процессов можно уменьшить это значение, чтобы освободить больше памяти на сегментах. Измеряется в мегабайтах.
Подробнее см. в документации Greenplum®
gp_workfile_compression
| Доступен в версии | Тип | Допустимые значения | Значение по умолчанию | Контекст |
|---|---|---|---|---|
| 6.25 и выше | Boolean | true (on), false (off) |
false (off) |
user |
Указывает, будут ли сжиматься временные файлы, создаваемые при выгрузке на диск в ходе операций хеширования (агрегации или соединения). В некоторых случаях включение сжатия может помочь избежать перегрузки подсистемы дисков операциями ввода-вывода.
Подробнее см. в документации Greenplum®
Важно
Изменение этой настройки приведет к поочередному перезапуску хостов кластера.
gp_workfile_limit_files_per_query
| Доступен в версии | Тип | Допустимые значения | Значение по умолчанию | Контекст |
|---|---|---|---|---|
| 6.25 и выше | Integer | от 0 до 100000 | 10000 | user |
Устанавливает максимальное количество временных рабочих файлов (workfiles), разрешенных для одного запроса на каждом сегменте. Рабочие файлы создаются при выполнении запроса, который требует больше памяти, чем выделено.
При превышении установленного лимита текущий запрос завершается. Значение 0 (ноль) обозначает неограниченное количество файлов выгрузки.
Подробнее см. в документации Greenplum®
gp_workfile_limit_per_query
| Доступен в версии | Тип | Допустимые значения | Значение по умолчанию | Контекст |
|---|---|---|---|---|
| 6.25 и выше | Integer | от 0 до 1099511627776 | 0 | user |
Устанавливает максимальный объем дискового пространства, который отдельный запрос может использовать для создания временных рабочих файлов (workfiles) на каждом сегменте. Значение 0 — отсутствие ограничения. Задается в байтах. Значение должно быть кратно 1 мегабайту.
Подробнее см. в документации Greenplum®
gp_workfile_limit_per_segment
| Доступен в версии | Тип | Допустимые значения | Значение по умолчанию | Контекст |
|---|---|---|---|---|
| 6.25 и выше | Integer | от 0 до размера диска на сегменте / 2 | Вычисляется динамически в зависимости от размера диска на сегменте | postmaster |
Устанавливает максимальный общий объем дискового пространства, который все выполняющиеся запросы могут использовать для создания временных рабочих файлов (workfiles) на каждом сегменте. Значение 0 означает отсутствие ограничения.
Значение по умолчанию зависит от размера хранилища хостов-сегментов и рассчитывается по формуле:
0.1 × <размер_хранилища_хоста-сегмента> / <количество_сегментов_на_хост>
Подробнее см. в документации Greenplum®
idle_in_transaction_session_timeout
Примечание
Параметр, специфичный для сборки open-gpdb
| Доступен в версии | Тип | Допустимые значения | Значение по умолчанию | Контекст |
|---|---|---|---|---|
| 6.25 и выше | Integer | от 0 до 2147483647 | 0 | user |
Завершает любую сессию, которая бездействует (то есть ожидает запроса от клиента) в рамках открытой транзакции дольше указанного промежутка времени. Измеряется в миллисекундах. Значение 0 отключает таймаут.
Этот параметр можно использовать, чтобы гарантировать, что бездействующие сессии не будут удерживать блокировки неоправданно долго. Даже если значимые блокировки не удерживаются, открытая транзакция препятствует удалению недавно устаревших кортежей, которые могут быть видны только в рамках этой транзакции, а также занимает место в ресурсных группах (параметр concurrency ресурсных групп).
lock_timeout
| Доступен в версии | Тип | Допустимые значения | Значение по умолчанию | Контекст |
|---|---|---|---|---|
| 6.25 и выше | Integer | от 0 до 2147483647 | 0 | user |
Прерывает любой запрос, который ожидает получения блокировки на таблице, индексе, строке или другом объекте базы данных дольше указанного количества миллисекунд. Лимит времени применяется отдельно к каждой попытке получения блокировки. Ограничение распространяется как на явные запросы на блокировку (например, LOCK TABLE или SELECT FOR UPDATE), так и на блокировки, приобретаемые неявно.
Если параметр log_min_error_statement установлен на ERROR или ниже, база данных записывает в журнал запрос, который не уложился в отведенное время. Значение 0 отключает мониторинг ожидания блокировок.
В отличие от statement_timeout, этот таймаут может возникнуть только во время ожидания блокировок. Обратите внимание: если statement_timeout имеет ненулевое значение, устанавливать lock_timeout таким же или большим бессмысленно, поскольку таймаут запроса всегда сработает раньше.
База данных использует параметры deadlock_timeout и gp_global_deadlock_detector_period для запуска локального и глобального обнаружения взаимных блокировок. Обратите внимание: если lock_timeout включен и установлен на значение, меньшее, чем таймауты обнаружения взаимных блокировок, база данных прервет запрос до того, как в этой сессии будет запущена проверка на взаимную блокировку.
Подробнее см. в документации Greenplum®
log_connections
| Доступен в версии | Тип | Допустимые значения | Значение по умолчанию | Контекст |
|---|---|---|---|---|
| 6.25 и выше | Boolean | true (on), false (off) |
false (off) |
backend |
Записывает в журнал сервера строку с подробной информацией о каждом успешном подключении. Некоторые клиентские программы, например psql, пытаются подключиться дважды, чтобы определить, требуется ли пароль, поэтому повторяющиеся сообщения «connection received» не всегда указывают на проблему.
Подробнее см. в документации Greenplum®
log_disconnections
| Доступен в версии | Тип | Допустимые значения | Значение по умолчанию | Контекст |
|---|---|---|---|---|
| 6.25 и выше | Boolean | true (on), false (off) |
false (off) |
backend |
Записывает в журнал сервера строку при завершении сессии клиента, включая продолжительность сессии.
Подробнее см. в документации Greenplum®
log_error_verbosity
| Доступен в версии | Допустимые значения | Значение по умолчанию | Контекст |
|---|---|---|---|
| 6.25 и выше | terse, default, verbose |
default |
superuser |
Управляет уровнем детализации информации, записываемой в журнал сервера для каждого сообщения.
Подробнее см. в документации Greenplum®
log_hostname
| Доступен в версии | Тип | Допустимые значения | Значение по умолчанию | Контекст |
|---|---|---|---|---|
| 6.25 и выше | Boolean | true (on), false (off) |
true (on) |
sighup |
По умолчанию в сообщениях журнала подключений отображается только IP-адрес подключающегося хоста. Включение этой опции приведет к тому, что в журнал будут записываться IP-адрес и имя подключающегося хоста в журнал мастера.
Подробнее см. в документации Greenplum®
log_min_duration_statement
| Доступен в версии | Тип | Допустимые значения | Значение по умолчанию | Контекст |
|---|---|---|---|---|
| 6.25 и выше | Integer | от -1 до 2147483647 | -1 | superuser |
Записывает в журнал запрос и его продолжительность в одной строке, если продолжительность запроса больше или равна указанному количеству миллисекунд. Установка значения 0 приведет к записи всех запросов и их продолжительности.
Значение -1 отключает эту функцию. Например, если установить значение 250, то в журнал будут записываться все SQL-запросы, выполнение которых занимает 250 мс или дольше.
Включение этой опции может быть полезно для поиска неоптимизированных запросов в ваших приложениях.
Подробнее см. в документации Greenplum®
log_min_messages
| Доступен в версии | Допустимые значения | Значение по умолчанию | Контекст |
|---|---|---|---|
| 6.25 и выше | debug5, debug4, debug3, debug2, debug1, info, notice, warning, log, error, fatal, panic |
warning |
superuser |
Управляет уровнями сообщений, которые записываются в журнал сервера. Каждый уровень включает в себя все последующие уровни. Чем позже указан уровень в списке, тем меньше сообщений будет отправлено в журнал.
Подробнее см. в документации Greenplum®
log_statement
| Доступен в версии | Допустимые значения | Значение по умолчанию | Контекст |
|---|---|---|---|
| 6.25 и выше | none, ddl, mod, all |
ddl |
superuser |
Управляет тем, какие SQL-запросы записываются в журнал. Уровень ddl регистрирует все команды определения данных, такие как CREATE, ALTER и DROP. Уровень mod регистрирует все операторы DDL, а также INSERT, UPDATE, DELETE, TRUNCATE и COPY FROM. Запросы PREPARE и EXPLAIN ANALYZE также записываются в журнал, если содержащийся в них оператор относится к соответствующему типу.
Подробнее см. в документации Greenplum®
log_statement_stats
| Доступен в версии | Тип | Допустимые значения | Значение по умолчанию | Контекст |
|---|---|---|---|---|
| 6.25 и выше | Boolean | true (on), false (off) |
false (off) |
superuser |
Для каждого запроса записывать в журнал сервера общую статистику производительности парсера, планировщика и исполнителя запроса. Используется в качестве простого инструмента профилирования.
Подробнее см. в документации Greenplum®
master_shared_buffers
Примечание
В самой СУБД есть только один параметр — shared_buffers. Со стороны сервиса есть разделение на shared_buffers для мастеров и сегментов. Настройка для сегментов в сервисе называется segment_shared_buffers.
| Доступен в версии | Тип | Допустимые значения | Значение по умолчанию | Контекст |
|---|---|---|---|---|
| 6.25 и выше | Integer | от 1048576 до вычисляемого значения | 134217728 (128 МБ) | postmaster |
Задает объем памяти, который экземпляр мастера использует для буферов общей памяти. Значение этого параметра должно быть не меньше 1 МБ и не больше значения следующего выражения (в частности, зависит от max_connections):
max(0.24 × объем доступной памяти на мастере, 16384 × max_connections)
Измеряется в байтах.
Подробнее см. в документации Greenplum®
Важно
Изменение этой настройки приведет к поочередному перезапуску хостов кластера.
max_connections
| Доступен в версии | Тип | Допустимые значения | Значение по умолчанию | Контекст |
|---|---|---|---|---|
| 6.25 и выше | Integer | от 50 до 1000 | 200 | postmaster |
Максимальное количество одновременных подключений к кластеру базы данных. При увеличении этого параметра необходимо также увеличить значение max_prepared_transactions. Увеличение этого параметра может привести к тому, что база данных запросит больший объем общей памяти (см. master_shared_buffers и segment_shared_buffers).
Для сегментов значение параметра max_connections вычисляется автоматически по формуле:
5 × max_connections (для мастера)
При изменении настройки проводится проверка, что объем доступной оперативной памяти на одно подключение (как на мастере, так и на сегменте) будет составлять не меньше 20 МБ. Если это условие не выполняется, возникает ошибка.
Подробнее см. в документации Greenplum®
max_locks_per_transaction
| Доступен в версии | Тип | Допустимые значения | Значение по умолчанию | Контекст |
|---|---|---|---|---|
| 6.25 и выше | Integer | от 128 до 2048 | 128 | postmaster |
Таблица общих блокировок создается с возможностью описать блокировки для max_locks_per_transaction × (max_connections + max_prepared_transactions) объектов, поэтому одновременно может быть заблокировано не более этого количества различных объектов. Это не жесткое ограничение на число блокировок, устанавливаемых одной транзакцией, а скорее максимально среднее значение. Возможно, вам потребуется увеличить это значение, если у вас есть клиенты, которые обращаются к множеству различных таблиц в рамках одной транзакции.
Подробнее см. в документации Greenplum®
max_prepared_transactions
| Доступен в версии | Тип | Допустимые значения | Значение по умолчанию | Контекст |
|---|---|---|---|---|
| 6.25 и выше | Integer | от 50 до 10000 | 200 | postmaster |
Устанавливает максимальное количество транзакций, которые могут находиться в подготовленном состоянии одновременно. База данных использует подготовленные транзакции внутренне для обеспечения целостности данных на сегментах. Это значение должно быть не меньше значения max_connections на мастере.
Подробнее см. в документации Greenplum®
max_slot_wal_keep_size
| Доступен в версии | Тип | Допустимые значения | Значение по умолчанию | Контекст |
|---|---|---|---|---|
| 6.25 и выше | Integer | от 0 до 214748364800 | Вычисляется | sighup |
Устанавливает максимальный размер в байтах файлов упреждающей записи (WAL) на диске для каждого экземпляра сегмента, который может быть зарезервирован, когда база данных передает данные на экземпляр зеркального сегмента или резервный мастер для поддержания синхронизации с соответствующим основным экземпляром сегмента или мастером.
Если размер файлов превысит установленный максимальный, они будут освобождены и станут доступны для удаления. В результате зеркало или резервный экземпляр могут потерять возможность продолжать репликацию из-за удаления необходимых файлов WAL.
Если для действующих основных экземпляров установлено нестандартное значение параметра max_slot_wal_keep_size, полное и инкрементное восстановление их зеркал может оказаться невозможным. В зависимости от нагрузки на основной экземпляр, которая действует одновременно с полным восстановлением, процесс восстановления может завершиться ошибкой из-за отсутствия файлов WAL.
Подробнее см. в документации Greenplum®
max_statement_mem
| Доступен в версии | Тип | Допустимые значения | Значение по умолчанию | Контекст |
|---|---|---|---|---|
| 6.25 и выше | Integer | от 134217728 до 1099511627776 | 2097152000 (2000 МБ) | superuser |
Устанавливает максимальный лимит памяти для запроса. Помогает избежать ошибок нехватки памяти на хосте сегмента во время обработки запроса из-за слишком высокого значения параметра statement_mem.
При изменении параметров max_statement_mem и statement_mem сначала необходимо изменить max_statement_mem.
Подробнее см. в документации Greenplum®
runaway_detector_activation_percent
| Доступен в версии | Тип | Допустимые значения | Значение по умолчанию | Контекст |
|---|---|---|---|---|
| 6.25 и выше | Integer | от 0 до 100 | 90 | postmaster |
Для запросов, которые управляются очередями ресурсов или ресурсными группами, этот параметр определяет, когда база данных завершает выполняющиеся запросы на основе объема используемой ими памяти. Значение 100 отключает автоматическое завершение запросов на основе процента используемой памяти. Может быть активна либо схема управления очередями ресурсов, либо схема управления ресурсными группами; обе схемы не могут быть активны одновременно.
Параметр конфигурации сервера gp_resource_manager определяет, какая схема активна. Когда очереди ресурсов включены — этот параметр устанавливает процент использования памяти vmem, при превышении которого запросы завершаются. Если процент использования памяти vmem для сегмента превышает указанное значение, база данных начинает завершать запросы, управляемые очередями ресурсов, исходя из потребления памяти, начиная с запроса, который использует наибольший ее объем. Запросы завершаются до тех пор, пока процент использования vmem не станет ниже указанного значения.
Например, если объем памяти vmem установлен на 10 ГБ, а значение этого параметра — 90 (90 %), база данных начнет завершать запросы, когда используемый объем памяти vmem превысит 9 ГБ. Когда включены ресурсные группы — этот параметр устанавливает процент использования общей глобальной памяти ресурсных групп. При превышении это процента завершаются запросы, управляемые ресурсными группами, для которых настроен аудитор памяти vmtracker, например admin_group и default_group. У ресурсных групп есть общий глобальный пул памяти, если сумма значений атрибута MEMORY_LIMIT, настроенных для всех групп ресурсов, меньше 100%. Например, если у вас есть три ресурсных группы со значениями memory_limit 10, 20 и 30%, то общая глобальная память составит 40% = 100% − (10% + 20% + 30%).
Если процент использования общей глобальной памяти превысит указанное значение, база данных начнет завершать запросы на основе использования памяти, выбирая из запросов, управляемых группами ресурсов с аудитором памяти vmtracker. Система начнет с запроса, который потребляет наибольший объем памяти. Запросы будут завершаться до тех пор, пока процент использования общей глобальной памяти не станет ниже указанного значения. Например, если объем общей глобальной памяти составляет 10 ГБ, а значение параметра — 90 (90%), база данных начнет завершать запросы, когда используемый объем общей глобальной памяти превысит 9 ГБ.
Подробнее см. в документации Greenplum®
segment_shared_buffers
Примечание
В самой СУБД есть только один параметр – shared_buffers. Со стороны сервиса есть разделение на shared_buffers для мастеров и сегментов. Настройка для мастеров в сервисе называется master_shared_buffers.
| Доступен в версии | Тип | Допустимые значения | Значение по умолчанию | Контекст |
|---|---|---|---|---|
| 6.25 и выше | Integer | от 1048576 до вычисляемого значения | 134217728 (128 МБ) | postmaster |
Задает объем памяти, который экземпляр сегмента использует для буферов общей памяти. Значение этого параметра должно быть не менее 1 МБ и не менее более значения следующего выражения (в частности зависит от max_connections:
max(0.2 × объем доступной памяти на сегменте / количество сегментов на хосте), 16384 × 5 × max_connections)
Подробнее см. в документации Greenplum®
Важно
Изменение этой настройки приведет к поочередному перезапуску хостов кластера.
Параметры доступные пользователю для локального управления
В данной секции собраны параметры, которыми пользователь может управлять только на уровне сессии, пользователя или базы данных. Этими параметрами невозможно управлять на уровне консоли управления, YC CLI, Terraform или API.
gp_default_storage_options
| Доступен в версии | Допустимые значения | Значение по умолчанию | Контекст |
|---|---|---|---|
| 6.25 и выше | appendoptimized: true, false; blocksize: [8192; 2097152]; checksum: true, false; compresstype: zlib, zstd, quicklz, rle_type, none; compresslevel: [0; 19]; orientation: row, column. |
appendonly=false, blocksize=32768, checksum=true, compresstype=none, orientation=row |
user |
Устанавливает значения по умолчанию для следующих параметров хранения таблиц при создании таблицы с помощью команды CREATE TABLE:
appendoptimized— используется синтаксисappendoptimized=valueдля указания типа хранения таблицы, оптимизированного для добавления данных;
Параметрappendoptimized— это сокращенное обозначение устаревшего параметра храненияappendonly. База данных сохраняет в каталоге значениеappendonlyи отображает его при перечислении параметров хранения для таблиц, оптимизированных для добавления данных.blocksize;checksum;compresstype;compresslevel;orientation.
Несколько значений параметров хранения указываются в виде списка, разделенного запятыми. Можно установить параметры хранения с помощью этого параметра, вместо того чтобы указывать их в предложении WITH команды CREATE TABLE. Параметры хранения, указанные в команде CREATE TABLE, переопределяют значения, заданные этим параметром.
Не все комбинации значений параметров хранения допустимы. Если указанные параметры хранения недопустимы, возвращается ошибка. Информацию о параметрах хранения таблиц можно найти в описании команды CREATE TABLE.
Значения по умолчанию можно установить для базы данных и пользователя. Если параметр конфигурации сервера задан на разных уровнях, то порядок приоритета значений параметров для хранения таблицы при входе пользователя в базу данных и создании таблицы следующий (от наивысшего к наименьшему):
- Значения, указанные в команде
CREATE TABLEс предложениемWITHилиENCODING. - Значение gp_default_storage_options, установленное для пользователя с помощью команды
ALTER ROLE...SET. - Значение gp_default_storage_options, установленное для базы данных с помощью команды
ALTER DATABASE...SET. - Значение gp_default_storage_options, установленное для кластера целиком (значение по умолчанию).
Значение параметра не накапливается. Например, если параметр задает опции appendoptimized и compresstype для базы данных, а пользователь устанавливает параметр для указания значения опции orientation, значения appendoptimized и compresstype, заданные на уровне базы данных, игнорируются.
В этом примере команда ALTER DATABASE задает параметры хранения таблицы по умолчанию orientation и compresstype для базы данных mytest:
ALTER DATABASE mytest SET gp_default_storage_options = 'orientation=column, compresstype=rle_type'
Чтобы создать в базе данных mytest таблицу, оптимизированную для добавления данных, с колоночным форматом и сжатием RLE, пользователю достаточно указать в предложении WITH только appendoptimized=TRUE.
Подробнее см. в документации Greenplum®
statement_mem
| Доступен в версии | Тип | Допустимые значения | Значение по умолчанию | Контекст |
|---|---|---|---|---|
| 6.25 и выше | Integer | от 1000 до 2147483647 | 128000 (125 МБ) | user |
Выделяет память хоста сегмента на каждый запрос. Объем памяти, выделяемый с помощью этого параметра, не может превышать значение max_statement_mem или лимит памяти очереди ресурсов либо ресурсных групп, через которые был отправлен запрос. Если для запроса требуется дополнительный объем памяти, используются временные файлы выгрузки на диске.
Подробнее см. в документации Greenplum®
statement_timeout
| Доступен в версии | Тип | Допустимые значения | Значение по умолчанию | Контекст |
|---|---|---|---|---|
| 6.25 и выше | Integer | от 0 до 2147483647 | 0 | user |
Прерывает любой запрос, выполнение которого занимает больше указанного количества миллисекунд. Значение 0 отключает ограничение.
Подробнее см. в документации Greenplum®
Параметры недоступные пользователю
В данной секции собраны параметры недоступные пользователю для управления, но на которые ссылаются другие параметры данной документации.
deadlock_timeout
| Доступен в версии | Тип | Допустимые значения | Значение по умолчанию | Контекст |
|---|---|---|---|---|
| 6.25 и выше | Integer | от 1 до 214748364 | 1000 | superuser |
Время ожидания блокировки перед проверкой наличия взаимной блокировки. На сильно загруженном сервере может потребоваться увеличить это значение. В идеале настройка должна превышать типичное время транзакции, чтобы повысить вероятность того, что блокировка будет снята до того, как ожидающий процесс решит проверить наличие взаимной блокировки.
Подробнее см. в документации Greenplum®
log_min_error_statement
| Доступен в версии | Допустимые значения | Значение по умолчанию | Контекст |
|---|---|---|---|
| 6.25 и выше | debug5, debug4, debug3, debug2, debug1, info, notice, warning, error, fatal, panic |
error |
superuser |
Управляет тем, будет ли SQL-запрос, который приводит к ошибке, записываться в журнал сервера. В журнал записываются все SQL-запросы, которые вызывают ошибку указанного уровня или выше. Чтобы фактически отключить логирование неудачных запросов, установите для этого параметра значение panic.
Подробнее см. в документации Greenplum®
gp_resource_manager
| Доступен в версии | Допустимые значения | Значение по умолчанию | Контекст |
|---|---|---|---|
| 6.25 и выше | group, queue |
group |
postmaster |
Указывает схему управления ресурсами, которая в настоящее время активирована в кластере. По умолчанию используется схема с ресурсными группами.
Подробнее см. в документации Greenplum®
Настройки внешнего источника данных S3
Доступны следующие настройки:
-
Access Key
Консоль управленияCLIAPIПубличный ключ доступа к S3-хранилищу.
Подробнее см. в документации Greenplum®
. -
Secret Key
Консоль управленияCLIAPIСекретный ключ доступа к S3-хранилищу.
Подробнее см. в документации Greenplum®
. -
Fast Upload
Консоль управленияCLIAPIУправляет быстрой загрузкой больших файлов в S3-хранилище. Если настройка выключена, PXF формирует файлы на диске перед отправкой в S3-хранилище. Если настройка включена, PXF формирует файлы в оперативной памяти (если ее не хватает, то записывает на диск).
По умолчанию быстрая загрузка включена.
Подробнее см. в документации Greenplum®
. -
Endpoint
Консоль управленияCLIAPIАдрес S3-хранилища. Значение для Yandex Object Storage —
storage.yandexcloud.net. Это значение используется по умолчанию.Подробнее см. в документации Greenplum®
.
Настройки внешнего источника данных JDBC
Доступны следующие настройки:
-
Driver
Консоль управленияCLIAPIКласс JDBC-драйвера в Java. Возможные значения:
com.simba.athena.jdbc.Drivercom.clickhouse.jdbc.ClickHouseDrivercom.ibm.as400.access.AS400JDBCDrivercom.microsoft.sqlserver.jdbc.SQLServerDrivercom.mysql.cj.jdbc.Driverorg.postgresql.Driveroracle.jdbc.driver.OracleDrivernet.snowflake.client.jdbc.SnowflakeDriverio.trino.jdbc.TrinoDriver
Подробнее см. в документации Greenplum®
. -
Url
Консоль управленияCLIAPIURL базы данных. Примеры:
jdbc:mysql://mysqlhost:3306/testdb— для локальной БД MySQL®.jdbc:postgresql://c-<идентификатор_кластера>.rw.mdb.yandexcloud.net:6432/db1— для кластера Yandex Managed Service for PostgreSQL. Адрес содержит особый FQDN мастера в кластере.jdbc:oracle:thin:@host.example:1521:orcl— для БД Oracle.
Подробнее см. в документации Greenplum®
. -
User
Консоль управленияCLIAPIИмя пользователя, владельца БД.
Подробнее см. в документации Greenplum®
. -
Password
Консоль управленияCLIAPIПароль пользователя БД.
Подробнее см. в документации Greenplum®
. -
Statement Batch Size
Консоль управленияCLIAPIКоличество строк в пакете для чтения из внешней таблицы.
Значение по умолчанию —
100.Подробнее см. в документации Greenplum®
. -
Statement Fetch Size
Консоль управленияCLIAPIКоличество строк, которые нужно поместить в буфер при чтении из внешней таблицы.
Значение по умолчанию —
1000.Подробнее см. в документации Greenplum®
. -
Statement Query Timeout
Консоль управленияCLIAPIВремя (в секундах), в течение которого драйвер JDBC ожидает выполнения операции чтения или записи.
Значение по умолчанию —
60.Подробнее см. в документации Greenplum®
. -
Pool Enabled
Консоль управленияCLIAPIОпределяет, используется ли пул подключений JDBC. По умолчанию используется.
Подробнее см. в документации Greenplum®
. -
Pool Maximum Size
Консоль управленияCLIAPIМаксимальное количество подключений к серверу базы данных.
Значение по умолчанию —
5.Подробнее см. в документации Greenplum®
. -
Pool Connection Timeout
Консоль управленияCLIAPIМаксимальное время (в миллисекундах) для ожидания подключения из пула.
Значение по умолчанию —
30000.Подробнее см. в документации Greenplum®
. -
Pool Idle Timeout
Консоль управленияCLIAPIМаксимальное время (в миллисекундах), по истечении которого неактивное соединение считается простаивающим.
Значение по умолчанию —
30000.Подробнее см. в документации Greenplum®
. -
Pool Minimum Idle
Консоль управленияCLIAPIМинимальное количество простаивающих подключений в пуле.
Значение по умолчанию —
0.Подробнее см. в документации Greenplum®
.
Настройки внешнего источника данных HDFS
Доступны следующие настройки:
-
Core
Консоль управленияAPIНастройки файловой системы и правил безопасности.
Подробнее см. в документации Apache Hadoop
.-
Default Fs
URI, который определяет файловую систему HDFS.
-
Security Auth To Local
Правила сопоставления участников Kerberos с учетными записями пользователей операционной системы.
-
-
Kerberos
Консоль управленияAPIНастройки сетевого протокола аутентификации Kerberos.
Подробнее см. в документации Greenplum®
.-
Enable
Определяет, будет ли использоваться сервер аутентификации Kerberos. По умолчанию не используется.
-
Primary
Хост основного сервера KDC (Key Distribution Center).
-
Realm
Область Kerberos для базы данных Greenplum®.
-
Kdc Servers
Хосты серверов KDC.
-
Admin server
Хост сервера администрирования. Обычно это основной сервер Kerberos.
-
Default domain
Домен, который используется для расширения имен хостов. Применим, когда участники-службы Kerberos 4 становятся участниками-службами Kerberos 5 (например, rcmd.hostname заменяется на host/hostname.domain).
-
Keytab Base64
Содержимое keytab-файла в кодировке Base64.
-
-
User Impersonation
Консоль управленияAPIОпределяет, можно ли аутентифицироваться во внешнем файловом хранилище или СУБД от лица пользователя Greenplum®.
По умолчанию аутентификация запрещена.
Подробнее см. в документации Greenplum®
. -
Username
Консоль управленияAPIИмя пользователя, с помощью которого выполняется подключение к внешнему файловому хранилищу или СУБД, если аутентификация от имени другого пользователя отключена.
Подробнее см. в документации Greenplum®
. -
Sasl Connection Retries
Консоль управленияAPIМаксимальное количество повторных попыток PXF выполнить запрос на подключение SASL, если возникла ошибка
GSS initiate failed.Значение по умолчанию —
5.Подробнее см. в документации Greenplum®
. -
ZK Hosts
Консоль управленияAPIХосты серверов ZooKeeper. Значения указываются в формате
<адрес>:<порт>.Подробнее см. в документации Apache Hadoop
.
-
Dfs
Консоль управленияAPIНастройки распределенной файловой системы.
Подробнее см. в документации Apache Hadoop
.-
Ha Automatic Failover Enabled
Определяет, включена ли автоматическая отказоустойчивость для высокой доступности файловой системы. По умолчанию включена.
-
Block Access Token Enabled
Определяет, используются ли токены доступа. По умолчанию токены проверяются во время подключений к узлам для хранения данных (datanodes).
-
Use Datanode Hostname
Определяет, используются ли имена узлов для хранения данных (datanodes) при подключении к этим узлам. По умолчанию используются.
-
Nameservices
Список логических имен HDFS-служб. Имена могут быть произвольными, разделяются запятыми.
-
-
Yarn
Консоль управленияAPIНастройки службы ResourceManager, которая отслеживает ресурсы в кластере и планирует запуск приложений (например, заданий MapReduce).
Подробнее см. в документации Apache Hadoop
.-
Resourcemanager Ha Enabled
Определяет, включена ли высокая доступность для ResourceManager. По умолчанию включена.
-
Resourcemanager Ha Auto Failover Enabled
Определяет, включен ли автоматический переход на другой ресурс, если активная служба вышла из строя или не отвечает. По умолчанию автоматический переход включен, только если включена настройка Resourcemanager Ha Enabled.
-
Resourcemanager Ha Auto Failover Embedded
Определяет, использовать ли встроенный метод ActiveStandbyElector для выбора активной службы. Если текущая активная служба вышла из строя или не отвечает, ActiveStandbyElector делает активной другую службу ResourceManager, которая берет управление на себя.
По умолчанию настройка включена, только если включены настройки Resourcemanager Ha Enabled и Resourcemanager Ha Auto Failover Enabled.
-
Resourcemanager Cluster Id
Идентификатор кластера. Используется, чтобы служба ResourceManager не стала активной для другого кластера.
-
Настройки внешнего источника данных Hive
Доступны следующие настройки:
-
Core
Консоль управленияAPIНастройки файловой системы и правил безопасности.
Подробнее см. в документации Apache Hadoop
.-
Default Fs
URI, который определяет файловую систему HDFS.
-
Security Auth To Local
Правила сопоставления участников Kerberos с учетными записями пользователей операционной системы.
-
-
Kerberos
Консоль управленияAPIНастройки сетевого протокола аутентификации Kerberos.
Подробнее см. в документации Greenplum®
.-
Enable
Определяет, будет ли использоваться сервер аутентификации Kerberos. По умолчанию не используется.
-
Primary
Хост основного сервера KDC (Key Distribution Center).
-
Realm
Область Kerberos для базы данных Greenplum®.
-
Kdc Servers
Хосты серверов KDC.
-
Admin server
Хост сервера администрирования. Обычно это основной сервер Kerberos.
-
Default domain
Домен, который используется для расширения имен хостов. Применим, когда участники-службы Kerberos 4 становятся участниками-службами Kerberos 5 (например, rcmd.hostname заменяется на host/hostname.domain).
-
Keytab Base64
Содержимое keytab-файла в кодировке Base64.
-
-
User Impersonation
Консоль управленияAPIОпределяет, можно ли аутентифицироваться во внешнем файловом хранилище или СУБД от лица пользователя Greenplum®.
По умолчанию аутентификация запрещена.
Подробнее см. в документации Greenplum®
. -
Username
Консоль управленияAPIИмя пользователя, с помощью которого выполняется подключение к внешнему файловому хранилищу или СУБД, если аутентификация от имени другого пользователя отключена.
Подробнее см. в документации Greenplum®
. -
Sasl Connection Retries
Консоль управленияAPIМаксимальное количество повторных попыток PXF выполнить запрос на подключение SASL, если возникла ошибка
GSS initiate failed.Значение по умолчанию —
5.Подробнее см. в документации Greenplum®
. -
ZK Hosts
Консоль управленияAPIХосты серверов ZooKeeper. Значения указываются в формате
<адрес>:<порт>.Подробнее см. в документации Apache Hadoop
.
-
Ppd
Консоль управленияAPIОпределяет, включено ли выталкивание предикатов (predicate pushdown) для запросов к внешним таблицам. По умолчанию включено.
Подробнее см. в документации Greenplum®
. -
Metastore Uris
Консоль управленияAPIСписок URI, разделенных запятыми. Чтобы запросить метаданные, внешняя СУБД подключается к Metastore по одному из этих URI.
-
Metastore Kerberos Principal
Консоль управленияAPIУчастник службы для сервера Metastore Thrift.
-
Auth Kerberos Principal
Консоль управленияAPIУчастник сервера Kerberos.