|
|
string | database_path |
| | Database file path. May be empty for in-memory mode.
|
| |
|
string | database_type |
| | Database type. If empty, automatically extracted from database_path, where a type:path syntax is expected.
|
| |
|
AccessMode | access_mode = AccessMode::AUTOMATIC |
| | Access mode of the database (AUTOMATIC, READ_ONLY or READ_WRITE)
|
| |
|
idx_t | checkpoint_wal_size = 1 << 24 |
| | Checkpoint when WAL reaches this size (default: 16MiB)
|
| |
|
bool | use_direct_io = false |
| | Whether or not to use Direct IO, bypassing operating system buffers.
|
| |
|
bool | load_extensions = true |
| | Whether extensions should be loaded on start-up.
|
| |
|
idx_t | maximum_memory = DConstants::INVALID_INDEX |
| | The maximum memory used by the database system (in bytes). Default: 80% of System available memory.
|
| |
|
idx_t | maximum_swap_space = DConstants::INVALID_INDEX |
| | The maximum size of the 'temp_directory' folder when set (in bytes). Default: 90% of available disk space.
|
| |
|
idx_t | maximum_threads = DConstants::INVALID_INDEX |
| | The maximum amount of CPU threads used by the database system. Default: all available.
|
| |
|
bool | use_temporary_directory = true |
| | Whether or not to create and use a temporary directory to store intermediates that do not fit in memory.
|
| |
|
string | temporary_directory |
| | Directory to store temporary structures that do not fit in memory.
|
| |
| bool | trim_free_blocks = false |
| |
|
bool | buffer_manager_track_eviction_timestamps = false |
| | Record timestamps of buffer manager unpin() events. Usable by custom eviction policies.
|
| |
|
bool | force_checkpoint = false |
| | Force checkpoint when CHECKPOINT is called or on shutdown, even if no changes have been made.
|
| |
|
bool | checkpoint_on_shutdown = true |
| | Run a checkpoint on successful shutdown and delete the WAL, to leave only a single database file behind.
|
| |
|
SerializationCompatibility | serialization_compatibility = SerializationCompatibility::Default() |
| | Serialize the metadata on checkpoint with compatibility for a given DuckDB version.
|
| |
| bool | initialize_default_database = true |
| |
|
bool | force_mbedtls = false |
| | Enable mbedtls explicitly (overrides OpenSSL if available)
|
| |
|
set< OptimizerType > | disabled_optimizers |
| | The set of disabled optimizers (default empty)
|
| |
|
LogicalType | force_variant_shredding = LogicalType::INVALID |
| | Force a specific schema for VARIANT shredding.
|
| |
|
case_insensitive_map_t< Value > | set_variable_defaults |
| | Database configuration variable default values;.
|
| |
|
vector< string > | extension_directories |
| | Additional directories to store extension binaries in.
|
| |
|
DebugInitialize | debug_initialize = DebugInitialize::NO_INITIALIZE |
| | Debug setting - how to initialize blocks in the storage layer when allocating.
|
| |
|
case_insensitive_map_t< Value > | user_options |
| | The set of user-provided options.
|
| |
|
case_insensitive_map_t< Value > | unrecognized_options |
| | The set of unrecognized (other) options.
|
| |
|
idx_t | allocator_flush_threshold = 134217728ULL |
| | The peak allocation threshold at which to flush the allocator after completing a task (1 << 27, ~128MB)
|
| |
|
idx_t | allocator_bulk_deallocation_flush_threshold = 536870912ULL |
| | If bulk deallocation larger than this occurs, flush outstanding allocations (1 << 30, ~1GB)
|
| |
|
bool | variant_legacy_encoding = false |
| | Delta Only! - Fall back to recognizing Variant columns structurally.
|
| |
|
string | custom_user_agent |
| | Metadata from DuckDB callers.
|
| |
|
idx_t | default_block_header_size = DEFAULT_BLOCK_HEADER_STORAGE_SIZE |
| | The default block header size for new duckdb database files.
|
| |
|
bool | abort_on_wal_failure = false |
| | Whether or not to abort if a serialization exception is thrown during WAL playback (when reading truncated WAL)
|
| |
|
unordered_set< string > | allowed_paths |
| | Paths that are explicitly allowed, even if enable_external_access is false.
|
| |
|
set< string > | allowed_directories |
| | Directories that are explicitly allowed, even if enable_external_access is false.
|
| |
|
case_insensitive_set_t | allowed_configs |
| | Additional configuration options that are allowed to be changed even when the configuration is locked.
|
| |
|
LogConfig | log_config = LogConfig() |
| | The log configuration.
|
| |
|
idx_t | block_allocator_size = 0 |
| | Physical memory that the block allocator is allowed to use (this memory is never freed and cannot be reduced)
|
| |
NOTE: DBConfigOptions is mostly deprecated. If you want to add a setting that can be set by the user, add it as a generic setting to settings.json. See e.g. "http_proxy" (HTTPProxySetting) as an example