我正在尝试运行以下代码,但遇到了“此时出现意外”错误。
(echo COPY(选择ta.colA作为名称,ta.colB作为user_e,ta.colC作为user_n,ta.activation_dt,ta.creation_dt,MAX(tb.update_dt)作为updated_at,MAX(tb.login_dt)作为lastest_login, tc.colD 作为角色FROM tblA ta, tblB tb, tblC tc 其中 ta.id = tb.tb_id AND ta.tc_id = tc.id AND tc.colD <> 'Guest' GROUP BY ta.colA, ta.colB, ta。 colC、ta.activation_dt、ta.creation_dt、tc.colD 按 ta.colA、tc.colD^^^) 排序到 'E:\Details.csv' CSV DELIMITER ',' HEADER;) | psql -h localhost -p 8060 -U uname -d 数据库
请寻找一些见解。谢谢。
尝试在 SQL 周围添加一些引号,并去掉括号:
echo "COPY ..." | psql -h localhost -p 8060 -U uname -d dbase
或使用
-c
选项:
psql -h localhost -p 8060 -U uname -d dbase -c "COPY ..."
我更喜欢
-c
,因为它适用于所有操作系统
我也经历过同样的事情,以下是我为解决它所做的事情。我看到你的列名之一有特殊字符<>,就像我的情况一样,然后我只需删除它或将其替换为“_”即可。尝试一下