テーブルを csv にエクスポートすることは可能ですが、複数の選択を同じファイルに追加することはできますか?
エクスポートしたい(たとえば):
SELECT * FROM TABLE WHERE a > 5
じゃあ後で:
SELECT * FROM TABLE WHERE b > 2
これは同じファイルに移動する必要があります。
前もって感謝します!
テーブルを csv にエクスポートすることは可能ですが、複数の選択を同じファイルに追加することはできますか?
エクスポートしたい(たとえば):
SELECT * FROM TABLE WHERE a > 5
じゃあ後で:
SELECT * FROM TABLE WHERE b > 2
これは同じファイルに移動する必要があります。
前もって感謝します!
私が知っている唯一の方法は、コマンドラインから出力をリダイレクトすることです。
psql -d dbname -t -A -F"," -c "SELECT * FROM TABLE WHERE a > 5" >> output.csv
じゃあ後で
psql -d dbname -t -A -F"," -c "SELECT * FROM TABLE WHERE b > 2" >> output.csv
ここでコマンド ライン オプションを調べることができます。
\o <filename>
ファイルに出力するために使用します。使用後のすべてのSELECT
ステートメントは、別のものに設定するまで\o
追加されます。<file>
\o
STDOUT と\o
組み合わせて使用するとうまくいくようです。\copy
例えば:
db=> \o /tmp/test.csv
db=> \copy (select 'foo','bar') to STDOUT with CSV;
db=> \copy (select 'foo','bar') to STDOUT with CSV;
db=> \q
$ cat /tmp/test.csv
foo,bar
foo,bar