⌘+k ctrl+k
1.1.3 (stable)
Search Shortcut cmd + k | ctrl + k
Configuration

可以提供配置选项来更改数据库系统的不同设置。请注意,许多这些设置稍后也可以使用PRAGMA语句进行更改。应该创建配置对象,填充值并传递给duckdb_open_ext

Example

duckdb_database db;
duckdb_config config;

// create the configuration object
if (duckdb_create_config(&config) == DuckDBError) {
    // handle error
}
// set some configuration options
duckdb_set_config(config, "access_mode", "READ_WRITE"); // or READ_ONLY
duckdb_set_config(config, "threads", "8");
duckdb_set_config(config, "max_memory", "8GB");
duckdb_set_config(config, "default_order", "DESC");

// open the database using the configuration
if (duckdb_open_ext(NULL, &db, config, NULL) == DuckDBError) {
    // handle error
}
// cleanup the configuration object
duckdb_destroy_config(&config);

// run queries...

// cleanup
duckdb_close(&db);

API Reference Overview

duckdb_state duckdb_create_config(duckdb_config *out_config);
size_t duckdb_config_count();
duckdb_state duckdb_get_config_flag(size_t index, const char **out_name, const char **out_description);
duckdb_state duckdb_set_config(duckdb_config config, const char *name, const char *option);
void duckdb_destroy_config(duckdb_config *config);

duckdb_create_config

初始化一个空的配置对象,该对象可用于通过duckdb_open_ext为DuckDB实例提供启动选项。 必须使用'duckdb_destroy_config'销毁duckdb_config

除非发生内存分配失败,否则这将始终成功。

请注意,即使函数返回DuckDBError,也应该始终在生成的配置上调用duckdb_destroy_config

Syntax
duckdb_state duckdb_create_config(
  duckdb_config *out_config
);
Parameters
  • out_config: 结果配置对象。
Return Value

DuckDBSuccess on success or DuckDBError on failure.


duckdb_config_count

这将返回可用于duckdb_get_config_flag的配置选项的总数。

这不应该在循环中调用,因为它内部会循环遍历所有选项。

Return Value

可用的配置选项数量。

Syntax
size_t duckdb_config_count(
  
);


duckdb_get_config_flag

获取特定配置选项的人类可读名称和描述。这可以用于例如显示配置选项。除非index超出范围(即>= duckdb_config_count),否则这将成功。

结果名称或描述不得被释放。

Syntax
duckdb_state duckdb_get_config_flag(
  size_t index,
  const char **out_name,
  const char **out_description
);
Parameters
  • index: 配置选项的索引(介于0和duckdb_config_count之间)
  • out_name: 配置标志的名称。
  • out_description: 配置标志的描述。
Return Value

DuckDBSuccess on success or DuckDBError on failure.


duckdb_set_config

为指定的配置设置指定的选项。配置选项由名称指示。 要获取配置选项的列表,请参见 duckdb_get_config_flag

在源代码中,配置选项定义在config.cpp中。

如果名称无效,或者为选项提供的值无效,则可能会失败。

Syntax
duckdb_state duckdb_set_config(
  duckdb_config config,
  const char *name,
  const char *option
);
Parameters
  • config: 用于设置选项的配置对象。
  • name: 要设置的配置标志的名称。
  • option: 设置配置标志的值。
Return Value

DuckDBSuccess on success or DuckDBError on failure.


duckdb_destroy_config

销毁指定的配置对象并释放为该对象分配的所有内存。

Syntax
void duckdb_destroy_config(
  duckdb_config *config
);
Parameters
  • config: 要销毁的配置对象。