我正在尝试:
psql -c "COPY ( SELECT * FROM "Users" LIMIT 10 ) TO STDOUT WITH CSV HEADER" > out.csv
但是,查询 ("Users"
) 中的双引号被删除,psql 返回错误,指出 Relation users does not exist
。我试图转义这样的引号 \"Users\"
。但它们仍然被删除。我能做什么?
最佳答案
这是正确的答案(对我有用):
echo 'COPY ( SELECT * FROM "Users" LIMIT 10 ) TO STDOUT WITH CSV HEADER' | psql > out.csv
甚至更好(它允许使用单引号和双引号而无需任何转义):
psql > out.csv <<EOT
COPY
(SELECT id, email, "displayName", "firstName", "lastName", "displayName", 'some str' AS "someStr" FROM "Users" LIMIT 10)
TO STDOUT WITH CSV HEADER;
EOT
关于macos - 如何将 SQL 查询作为包含双引号的参数传递给 psql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26078533/