“ psql”中的语法错误,命令未执行

时间:2020-10-26 13:10:36

标签: postgresql csv syntax-error psql timescaledb

我正在使用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"

NO Response in Console

如果我在命令后加上; psql -d test -c "\COPY test1 FROM C:\Users\DEGEJOS\Downloads\test.csv CSV";我在第1行遇到语法错误。

Syntax Error

如何解决此错误并将数据从csv文件插入到数据库?

1 个答案:

答案 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"