我想通過使用下面的查詢將postgres表數據提取到CSV,默認情況下它給'''作爲分隔符,但在表中的數據有多個分隔符,所以我想通過獲取數據「」作爲分隔符或force_quotePostgres數據以csv與強制引號
psql -h host -p port -U user -d dbname --no-align -c "SELECT * from sample" > D:\sample.csv
任何一個可以拉我出去從這個issue..thanks提前
我想通過使用下面的查詢將postgres表數據提取到CSV,默認情況下它給'''作爲分隔符,但在表中的數據有多個分隔符,所以我想通過獲取數據「」作爲分隔符或force_quotePostgres數據以csv與強制引號
psql -h host -p port -U user -d dbname --no-align -c "SELECT * from sample" > D:\sample.csv
任何一個可以拉我出去從這個issue..thanks提前
爲@a_horse_with_no_name建議,你可以用水木清華不喜歡它:
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 \$\$'\$\$)" >
當然你可以改變\$\$'\$\$
到''''
,如果你發現任何更具可讀性...
其錯誤提示 –
請更新錯誤信息,或至少把那麼作爲評論?.. –
做的一項工作了Talend,如:
tpostgresinput -> tmap -> tfiledelimitedOutput
而且把你的「選擇」條件在tpostgres查詢輸入。
可以請你告訴我如何將postgres數據移動到s3而不更改時間戳格式..實際時間戳:07 09 2016 22:22:34更改時間戳:07 sep 2016 22: 22:34 .. –
使用'\ copy':https://www.postgresql.org/docs/current/static/app-psql.html#APP-PSQL-META-COMMANDS-COPY –