pgloader无法找到指定SQLite数据库文件,请求排查故障原因
pgloader连接SQLite数据库提示"No such file or directory"的排查与解决
调整SQLite URL格式
部分pgloader版本对绝对路径的解析需要额外加一个斜杠,把命令改成:pgloader sqlite:////tmp/tt.db
原因是URL规范里,sqlite:///后接相对路径,绝对路径要通过sqlite:////来指向根目录下的文件。验证文件权限与存在性
先确认文件确实存在且权限正常:ls -l /tmp/tt.db
/tmp目录一般是全局可读,但如果有特殊权限配置,要确保pgloader运行用户能读取该文件。检查pgloader的SQLite支持
有些pgloader安装包没编译SQLite支持,导致无法识别sqlite://协议。可以先看版本:pgloader --version
或者用配置文件测试:创建load.sqlite文件,内容如下:load database from sqlite:///tmp/tt.db into postgresql://user:pass@localhost/dbname;运行
pgloader load.sqlite,如果还是报错,说明需要重新安装带SQLite支持的pgloader版本。
内容的提问来源于stack exchange,提问作者user3732793
相关产品推荐
相关产品推荐

