You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过环境变量配置DuckDB的file_search_path?

DuckDB中通过环境变量设置file_search_path的方案

DuckDB本身不会解析%userprofile%这类shell风格的环境变量占位符,直接执行SET file_search_path = '%userprofile%'只会把它当作普通字符串处理,不过有两种可行的解决方式:

  • 通过shell预先解析环境变量后传入
    在启动DuckDB时,先让shell解析环境变量再传递给SET命令:
    Windows cmd环境:

    set "USER_PROFILE=%USERPROFILE%"
    duckdb -c "SET file_search_path = '%USER_PROFILE%'"
    

    Linux/macOS bash/zsh环境:

    duckdb -c "SET file_search_path = '$HOME'"
    
  • 使用DuckDB内置env()函数直接读取环境变量
    DuckDB提供了env()函数可以直接读取系统环境变量,直接在SQL脚本里就能完成路径设置,非常适合团队共享脚本:

    -- Windows系统
    SET file_search_path = env('USERPROFILE');
    -- Linux/macOS系统
    SET file_search_path = env('HOME');
    

如果需要脚本兼容多操作系统,可以用条件判断自动适配:

SET file_search_path = CASE WHEN current_setting('os_name') = 'Windows' THEN env('USERPROFILE') ELSE env('HOME') END;

内容的提问来源于stack exchange,提问作者Mike_W

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 06:42:02