Spec-Zone.ru › DuckDB

Настройка

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

Параметры конфигурации можно задать с помощью оператора SET или оператора PRAGMA. Их можно сбросить до исходных значений с помощью оператора RESET.

Значения параметров конфигурации можно запросить с помощью скалярной функции current_setting() или с помощью табличной функции duckdb_settings(). Например:

SELECT current_setting('memory_limit') AS memlimit;
SELECT value AS memlimit FROM duckdb_settings() WHERE name = 'memory_limit';

Примеры

Установите лимит памяти системы на 10 ГБ.

SET memory_limit = '10GB';

Настройте систему на использование 1 потока.

SET threads TO 1;

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

SET enable_progress_bar = true;

Установите порядок по умолчанию для NULL в NULLS LAST.

SET default_null_order = 'nulls_last';

Возвращает текущее значение конкретной настройки.

SELECT current_setting('threads') AS threads;
threads
10

Запрос конкретной настройки.

SELECT *
FROM duckdb_settings()
WHERE name = 'threads';
name value description input_type scope
threads 1 Количество потоков, используемых системой. BIGINT GLOBAL

Показать список всех доступных настроек.

SELECT *
FROM duckdb_settings();

Сбросить лимит памяти системы до значения по умолчанию.

RESET memory_limit;

Менеджер секретов

DuckDB имеет Менеджер секретов, который предоставляет единый пользовательский интерфейс для секретов через все бэкэнды (например, AWS S3), которые их используют.

Справочник по конфигурации

Параметры конфигурации имеют различные значения по умолчанию для областей: GLOBAL и LOCAL. Ниже приведен список всех доступных параметров конфигурации по областям.

Глобальные параметры конфигурации

Имя Описание Тип Значение по умолчанию
Calendar Текущий календарь VARCHAR Системный (локальный) календарь
TimeZone Текущая временная зона VARCHAR Системная (локальная) временная зона
access_mode Режим доступа к базе данных (AUTOMATIC, READ_ONLY или READ_WRITE) VARCHAR automatic
allocator_background_threads Включить фоновый поток выделения памяти. BOOLEAN false
allocator_bulk_deallocation_flush_threshold Если происходит сброс больших объемов выделенной памяти, сбросить все ожидающие выделения. VARCHAR 512.0 MiB
allocator_flush_threshold Пороговое значение пикового выделения памяти, после достижения которого освободить выделенную память после завершения задачи. VARCHAR 128.0 MiB
allow_community_extensions Разрешить загрузку расширений, созданных сообществом. BOOLEAN true
allow_extensions_metadata_mismatch Разрешить загрузку расширений с несовместимыми метаданными. BOOLEAN false
allow_persistent_secrets Разрешить создание постоянных секретов, которые сохраняются и загружаются при перезапуске. BOOLEAN true
allow_unredacted_secrets Разрешить вывод необработанных секретов. BOOLEAN false
allow_unsigned_extensions Разрешить загрузку расширений с недействительными или отсутствующими подписями. BOOLEAN false
arrow_large_buffer_size Буферы стрелок для строк, блоков, UUID и битов должны экспортироваться с использованием больших буферов. BOOLEAN false
arrow_lossless_conversion Когда тип DuckDB не имеет явного соответствия в Arrow, экспортировать типы с именем расширения duckdb.type_name. BOOLEAN false
arrow_output_list_view Если экспорт в формат Arrow должен использовать ListView в качестве физической структуры для списочных столбцов. BOOLEAN false
autoinstall_extension_repository Переопределяет пользовательский конечный пункт для установки расширений при автоматической загрузке. VARCHAR
autoinstall_known_extensions Разрешить автоматическую установку известных расширений, когда запрос от них зависит. BOOLEAN true
autoload_known_extensions Разрешить автоматическую загрузку известных расширений, когда запрос от них зависит. BOOLEAN true
binary_as_string В файлах Parquet интерпретировать двоичные данные как строку. BOOLEAN
ca_cert_file Путь к пользовательскому сертификационному файлу для самозаверяемых сертификатов. VARCHAR
catalog_error_max_schemas Максимальное количество схем, которые система будет сканировать для поиска ошибок типа «возможно вы имели в виду…» в каталоге. UBIGINT 100
checkpoint_threshold, wal_autocheckpoint Пороговое значение размера журнала транзакций (ЖТТ), при котором автоматически запускается точка восстановления (например, 1 ГБ). VARCHAR 16.0 MiB
custom_extension_repository Переопределяет пользовательский конечный пункт для удалённой установки расширений. VARCHAR
custom_user_agent Метаданные от вызывающих DuckDB. VARCHAR
default_block_size Размер блока по умолчанию для новых файлов базы данных duckdb (новых в том смысле, что они ещё не существуют). UBIGINT 262144
default_collation Настройка сортировки, используемая при её отсутствии. VARCHAR
default_null_order, null_order Порядок обработки NULL при его отсутствии (NULLS_FIRST, NULLS_LAST, NULLS_FIRST_ON_ASC_LAST_ON_DESC или NULLS_LAST_ON_ASC_FIRST_ON_DESC) VARCHAR NULLS_LAST
default_order Тип порядка, используемый при его отсутствии (ASC или DESC) VARCHAR ASC
default_secret_storage Разрешить смену стандартного хранилища для секретов. VARCHAR local_file
disabled_filesystems Отключить определенные файловые системы, препятствующие доступу (например, LocalFileSystem). VARCHAR
duckdb_api Интерфейс API DuckDB. VARCHAR cli
enable_external_access Разрешить базе данных доступ к внешнему состоянию (например, загрузка/установка модулей, COPY TO/FROM, CSV-читатели, замены сканирования pandas и т.д.). BOOLEAN true
enable_fsst_vectors Разрешить сканирование сжатых сегментов FSST, чтобы выводить сжатые векторы для использования отложенного распаковки. BOOLEAN false
enable_http_metadata_cache Использовать ли глобальные метаданные HTTP для кеширования метаданных HTTP. BOOLEAN false
enable_macro_dependencies Включить создание зависимостей для созданных макросов от связанных объектов (таких как таблицы). BOOLEAN false
enable_object_cache Использовать ли кэш объектов для кэширования, например, метаданных Parquet. BOOLEAN false
enable_server_cert_verification Включить проверку сертификатов на стороне сервера. BOOLEAN false
enable_view_dependencies Включить создание зависимостей для созданных представлений от связанных объектов (таких как таблицы). BOOLEAN false
extension_directory Установить каталог для хранения расширений. VARCHAR
external_threads Количество внешних потоков, работающих над задачами DuckDB. BIGINT 1
force_download Принудительно загрузить файл заранее. BOOLEAN false
http_keep_alive Поддерживать активные подключения. Установка этого значения в false может помочь при возникновении проблем с подключениями. BOOLEAN true
http_proxy_password Пароль для HTTP-прокси. VARCHAR
http_proxy_username Имя пользователя для HTTP-прокси. VARCHAR
http_proxy Хост HTTP-прокси. VARCHAR
http_retries Количество повторных попыток HTTP при ошибках ввода/вывода. UBIGINT 3
http_retry_backoff Коэффициент экспоненциального увеличения времени ожидания при повторных попытках. FLOAT 4
http_retry_wait_ms Время между повторными попытками. UBIGINT 100
http_timeout Таймауты HTTP для чтения/записи/соединения/повторных попыток. UBIGINT 30000
immediate_transaction_mode Транзакции должны запускаться лениво при необходимости или сразу при вызове BEGIN TRANSACTION. BOOLEAN false
index_scan_max_count Максимальное количество сканирований индексов устанавливает порог для сканирования индексов. Если количество совпавших строк меньше MAX(index_scan_max_count, index_scan_percentage * total_row_count), мы выполняем сканирование индекса вместо сканирования таблицы. UBIGINT 2048
index_scan_percentage Процент сканирования индекса устанавливает порог для сканирования индексов. Если количество совпавших строк меньше MAX(index_scan_max_count, index_scan_percentage * total_row_count), мы выполняем сканирование индекса вместо сканирования таблицы. DOUBLE 0.001
lock_configuration Можно ли изменить конфигурацию. BOOLEAN false
max_memory, memory_limit Максимальный объем памяти системы (например, 1 ГБ). VARCHAR 80% оперативной памяти
max_temp_directory_size Максимальный объем данных, хранящихся в каталоге временных файлов (если он задан). Если каталог временных файлов задан и существует, это значение по умолчанию — доступное пространство на этом диске. В противном случае оно по умолчанию равно 0 (что подразумевает, что временный каталог не используется). VARCHAR 0 bytes
max_vacuum_tasks Максимальное количество задач вакуума, которые планируются во время точки восстановления. UBIGINT 100
old_implicit_casting Разрешить неявное преобразование в/из VARCHAR. BOOLEAN false
password Пароль для использования. Игнорируется для обратной совместимости. VARCHAR NULL
preserve_insertion_order Сохранять порядок вставки. Если значение false, система разрешает менять порядок результатов, которые не содержат предложения ORDER BY. BOOLEAN true
produce_arrow_string_view Производить ли строки в формате Utf8View вместо Utf8. BOOLEAN false
s3_access_key_id ID ключа доступа к S3. VARCHAR
s3_endpoint Конечная точка S3. VARCHAR
s3_region Регион S3 VARCHAR us-east-1
s3_secret_access_key Ключ доступа S3 VARCHAR
s3_session_token Токен сессии S3 VARCHAR
s3_uploader_max_filesize Максимальный размер файла для загрузчика S3 (между 50 ГБ и 5 ТБ) VARCHAR 800GB
s3_uploader_max_parts_per_file Максимальное количество частей файла для загрузчика S3 (между 1 и 10000) UBIGINT 10000
s3_uploader_thread_limit Глобальный лимит потоков загрузчика S3 UBIGINT 50
s3_url_compatibility_mode Отключить шаблоны и параметры запроса в URL S3 BOOLEAN false
s3_url_style Стиль URL S3 VARCHAR vhost
s3_use_ssl Использовать SSL для S3 BOOLEAN true
secret_directory Установить директорию для хранения постоянных секретов VARCHAR ~/.duckdb/stored_secrets
storage_compatibility_version Сериализация при контрольных точках с совместимостью для данной версии duckdb VARCHAR v0.10.2
temp_directory Установить директорию для записи временных файлов VARCHAR ⟨database_name⟩.tmp или .tmp (в режиме памяти)
threads, worker_threads Общее количество потоков, используемых системой. BIGINT Количество ядер процессора
username, user Имя пользователя для использования. Игнорируется для совместимости со старыми версиями. VARCHAR NULL

Параметры локальной конфигурации

Имя Описание Тип Значение по умолчанию
custom_profiling_settings Принимает JSON для включения пользовательских метрик VARCHAR {"RESULT_SET_SIZE": "true", "OPERATOR_TIMING": "true", "OPERATOR_ROWS_SCANNED": "true", "CUMULATIVE_ROWS_SCANNED": "true", "OPERATOR_CARDINALITY": "true", "OPERATOR_TYPE": "true", "CUMULATIVE_CARDINALITY": "true", "EXTRA_INFO": "true", "CPU_TIME": "true", "BLOCKED_THREAD_TIME": "true", "QUERY_NAME": "true"}
enable_http_logging Включает HTTP логирование BOOLEAN false
enable_profiling Включает профилирование и задает формат вывода (JSON, QUERY_TREE, QUERY_TREE_OPTIMIZER) VARCHAR NULL
enable_progress_bar_print Управляет отображением полосы прогресса, когда 'enable_progress_bar' имеет значение true BOOLEAN true
enable_progress_bar Включает полосу прогресса, выводящую прогресс в терминал для длительных запросов BOOLEAN true
errors_as_json Выводит сообщения об ошибках в виде структурированных JSON вместо необработанной строки BOOLEAN false
explain_output Вывод инструкций EXPLAIN (ALL, OPTIMIZED_ONLY, PHYSICAL_ONLY) VARCHAR physical_only
file_search_path Список директорий для поиска входных файлов, разделенных запятыми VARCHAR
home_directory Устанавливает домашний каталог, используемый системой VARCHAR
http_logging_output Файл, в который должен сохраняться вывод HTTP-логирования, или пустая строка для вывода в терминал VARCHAR
ieee_floating_point_ops Использовать операции с плавающей точкой, совместимые с IEE754 (возвращать NAN вместо ошибок/NULL) BOOLEAN true
integer_division Оператор / по умолчанию выполняет целочисленное деление или деление с плавающей точкой BOOLEAN false
log_query_path Указывает путь, в который должны сохраняться запросы (по умолчанию: NULL, запросы не сохраняются) VARCHAR NULL
max_expression_depth Максимальная глубина выражения в анализаторе. ПРЕДУПРЕЖДЕНИЕ: увеличение этого параметра и использование очень глубоких выражений может привести к переполнению стека. UBIGINT 1000
merge_join_threshold Количество строк на каждой таблице для выбора соединения слиянием UBIGINT 1000
nested_loop_join_threshold Количество строк на каждой таблице для выбора вложенного цикла соединения UBIGINT 5
order_by_non_integer_literal Разрешить сортировку по литералам, не являющимся целыми числами - сортировка по таким литералам не имеет эффекта BOOLEAN false
ordered_aggregate_threshold Количество строк для накопления перед сортировкой, используется для настройки UBIGINT 262144
partitioned_write_flush_threshold Порог количества строк, после которого состояние потока очищается при записи с использованием PARTITION_BY UBIGINT 524288
partitioned_write_max_open_files Максимальное количество файлов, которые система может держать открытыми перед записью на диск при записи с использованием PARTITION_BY UBIGINT 100
perfect_ht_threshold Порог в байтах для использования идеальной хеш-таблицы BIGINT 12
pivot_filter_threshold Порог для переключения с использования отфильтрованных агрегатов на LIST с выделенным оператором сводки BIGINT 20
pivot_limit Максимальное количество сводных столбцов в инструкции сводки BIGINT 100000
prefer_range_joins Вынужденное использование объединений диапазонов с смешанными предикатами BOOLEAN false
preserve_identifier_case Сохранять регистр идентификаторов или всегда приводить все нецитируемые идентификаторы к нижнему регистру BOOLEAN true
profile_output, profiling_output Файл, в который должен сохраняться вывод профилирования, или пустая строка для вывода в терминал VARCHAR
profiling_mode Режим профилирования (STANDARD или DETAILED) VARCHAR NULL
progress_bar_time Устанавливает время (в миллисекундах), необходимое запросу для начала отображения полосы прогресса BIGINT 2000
scalar_subquery_error_on_multiple_rows Если скалярный подзапрос возвращает несколько строк - возвратить случайную строку вместо ошибки BOOLEAN true
schema Устанавливает схему поиска по умолчанию. Эквивалентно установке search_path для одного значения. VARCHAR main
search_path Устанавливает путь поиска каталога по умолчанию как список значений, разделенных запятыми VARCHAR
streaming_buffer_size Максимальный объем памяти для буферизации между извлечением из потокового результата (например, 1 ГБ) VARCHAR 976.5 KiB

Страницы в этом разделе

© Copyright 2018–2024 Stichting DuckDB Foundation
Licensed under the MIT License.
https://duckdb.org/docs/configuration/overview.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API