⌘+k ctrl+k
1.3 (稳定版)
搜索快捷键 cmd + k | ctrl + k
配置

可以通过提供配置选项来更改数据库系统的各种设置。请注意,其中许多设置也可以稍后使用PRAGMA 语句进行更改。应创建配置对象,填充值,然后将其传递给duckdb_open_ext

示例

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参考概览

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_config 必须使用“duckdb_destroy_config”销毁

除非发生内存分配失败(malloc failure),否则此操作始终成功。

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

语法
duckdb_state duckdb_create_config(
  duckdb_config *out_config
);
参数
  • out_config:结果配置对象。
返回值

成功时返回 DuckDBSuccess,失败时返回 DuckDBError


duckdb_config_count

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

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

返回值

可用配置选项的数量。

语法
size_t duckdb_config_count(
  
);


duckdb_get_config_flag

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

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

语法
duckdb_state duckdb_get_config_flag(
  size_t index,
  const char **out_name,
  const char **out_description
);
参数
  • index:配置选项的索引(介于 0 和 duckdb_config_count 之间)
  • out_name:配置标志的名称。
  • out_description:配置标志的描述。
返回值

成功时返回 DuckDBSuccess,失败时返回 DuckDBError


duckdb_set_config

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

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

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

语法
duckdb_state duckdb_set_config(
  duckdb_config config,
  const char *name,
  const char *option
);
参数
  • config:要设置选项的配置对象。
  • name:要设置的配置标志的名称。
  • option:要将配置标志设置为何值。
返回值

成功时返回 DuckDBSuccess,失败时返回 DuckDBError


duckdb_destroy_config

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

语法
void duckdb_destroy_config(
  duckdb_config *config
);
参数
  • config:要销毁的配置对象。