我正在尝试使用以下查询将postgres表格数据提取到CSV格式,默认情况下它会给出' |'作为分隔符,但在表数据中有多个分隔符,所以我想通过使用""来获取数据。 as delimiter或force_quote
psql -h host -p port -U user -d dbname --no-align -c "SELECT * from sample" > D:\sample.csv
任何人都可以从这个问题中解脱出来......提前谢谢
答案 0 :(得分:1)
如@a_horse_with_no_name所示,您可以使用smth来执行此操作:
psql -h host -p port -U user -d dbname --no-align -c "\copy (select * from sample) to stdout with (format csv, force_quote *, quote \$\$'\$\$)" > D:\sample.csv
或将代码缩减为更整洁的版本:
psql -h host -p port -U user -d dbname --no-align -c "\copy sample to 'D:\sample.csv' with (format csv, force_quote *, quote \$\$'\$\$)" >
当然,如果你发现它更具可读性,你可以将\$\$'\$\$
更改为''''
......
答案 1 :(得分:0)
做一份像以下一样的工作:
hello
并在tpostgres输入中的查询中添加“选择”条件。