我正在使用timescaledb。
我要跟踪的是Using PostgreSQL's COPY,用于将数据从csv文件迁移到时标db。 CSV文件的名称为 test.csv 。
我创建了一个名为 test 的数据库,表的名称为 test1 。根据timescaledb文档,表是一个超表。
表的结构和csv文件的结构相同。
在cmd中执行以下命令时,除了在控制台命令-
中添加test-#
符号外,我没有得到任何结果
psql -d test -c "\COPY test1 FROM C:\Users\DEGEJOS\Downloads\test.csv CSV"
如果我在命令后加上;
psql -d test -c "\COPY test1 FROM C:\Users\DEGEJOS\Downloads\test.csv CSV";
我在第1行遇到语法错误。
如何解决此错误并将数据从csv文件插入到数据库?
答案 0 :(得分:1)
您正在尝试在psql
会话中与\COPY
一起运行psql
,因此由于SQL中不存在psql
关键字,因此在第二次调用中会出错。 psql是可执行文件。
要遵循Timescale的说明,您需要直接在CMD中调用该命令。即致电:
psql -d test -c "\COPY test1 FROM C:\Users\DEGEJOS\Downloads\test.csv CSV"
如果您在屏幕截图中处于C:\Users\DEGEJOS
,那么它会看起来像:
C:\Users\DEGEJOS\psql -d test -c "\COPY test1 FROM C:\Users\DEGEJOS\Downloads\test.csv CSV"