脚本:
#!/bin/bash/
PGPASSWORD='*******' psql -h host_name server_name user_name -t -A -F "," -c "select b.id AS booking_id, b.hotel_id as hotel_id, b.invoice_no as invoice_no, b.guest_id as guest_id from bookings b" > /home/ubuntu/scripts/food_suggest/automate/pgsql_data.csv;
当前输出:
12345, 1111, ABCD1234, A111
12346, 1112, ABCD1235, A112 ...
必需的输出:
booking_id, hotel_id, invoice_no, guest_id 12345, 1111, ABCD1234, A111 12346, 1112, ABCD1235, A112 ...
答案 0 :(得分:0)
我使用简单的COPY命令从bash + psql执行此操作 - https://www.postgresql.org/docs/current/static/sql-copy.html
如果你有逗号或字符串中的字符,请使用参数CSV HEADER
和FORCE QUOTE
。否则它可以正常工作。
对于json导出,我使用COPY (select row_to_json(...
而没有CSV
param。两者都运作良好。我用它从PG导出到Bigquery。