ant*_*nus 8 postgresql postgresql-8.3
我正在尝试通过“COPY”命令将 CSV 文件导入数据库;但是,我得到了一个(似乎很常见的)错误,我需要成为超级用户,而我应该使用 "\copy" 来代替。但是,在使用 \copy 时,出现语法错误:
ERROR: syntax error at or near "\"
LINE 1: \copy
Run Code Online (Sandbox Code Playgroud)
插入符号指向“\”。这是我的查询:
\copy tablename(column2, column3, column4, column5) from '/home/uploads/data.csv' WITH DELIMITER ',' CSV HEADER'
Run Code Online (Sandbox Code Playgroud)
我尝试了“复制”和“\复制”。第一个给我一个超级用户错误,后者给我那个语法错误。关于如何修复它的任何想法?让它起作用?
我正在通过 myPgAdmin 的 sql 输入字段执行命令。
我唯一的另一个问题是关于通过 tablename(column2, column3 等导入列。这是正确的语法吗?
\copy
是一个psql(命令行)命令。它不是常规的 SQL 命令。
您将需要改用 COPY(但这要求文件存在于数据库服务器上)
小智 5
有关 COPY 的信息,请参阅 postgres手册。
在 pgAdmin (或者通过脚本或其他数据库连接传递的 sql 字符串)中,您只需使用不带“\”前缀的 COPY 。
所以输入类似:
COPY tablename....
您需要确保您具有运行该命令的相关权限,因此在这种情况下您需要能够登录数据库并对“tablename”具有写入权限。Postgres 还需要能够访问该文件,因此路径 /home/uploads/ 应该可以在数据库服务器上访问,并且 postgres 用户应该能够读取该文件 - 检查文件和目录的权限。
归档时间: |
|
查看次数: |
38247 次 |
最近记录: |