/path/to/query にあるファイルにクエリを書き込んでいます。クエリで COPY を使用せずに、出力結果を csv ファイルに保存するにはどうすればよいですか? 次のコマンドを試しましたが、出力ファイルのフィールドが「 | 」で区切られています。
psql -U username -d dbname -f /path/to/query -o /path/to/output/file -F ','
/path/to/query にあるファイルにクエリを書き込んでいます。クエリで COPY を使用せずに、出力結果を csv ファイルに保存するにはどうすればよいですか? 次のコマンドを試しましたが、出力ファイルのフィールドが「 | 」で区切られています。
psql -U username -d dbname -f /path/to/query -o /path/to/output/file -F ','
ドキュメントでは説明されていませんが、-F
オプションが機能するには-A
オプション (整列されていないテーブル出力) が必要です。
psql -U username -d dbname -f /path/to/query -o /path/to/output/file -F ',' -A
csv でヘッダーを使用したくない場合は、上部と下部に余分な行がないことを意味し、-t
オプションも使用します。
psql -U username -d dbname -f /path/to/query -o /path/to/output/file -F ',' -A -t
ヘルプから:
-A, --no-align 非整列テーブル出力モード
-F, --field-separator=STRING フィールドセパレーターを設定 (デフォルト: "|")
-t, --tuples-only 行のみを出力