0

テーブルを csv にエクスポートすることは可能ですが、複数の選択を同じファイルに追加することはできますか?

エクスポートしたい(たとえば):

SELECT * FROM TABLE WHERE a > 5

じゃあ後で:

SELECT * FROM TABLE WHERE b > 2

これは同じファイルに移動する必要があります。

前もって感謝します!

4

3 に答える 3

1

私が知っている唯一の方法は、コマンドラインから出力をリダイレクトすることです。

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

ここでコマンド ライン オプションを調べることができます。

http://www.postgresql.org/docs/9.0/static/app-psql.html

于 2013-10-02T01:52:28.447 に答える
1

\o <filename>ファイルに出力するために使用します。使用後のすべてのSELECTステートメントは、別のものに設定するまで\o追加されます。<file>\o

于 2014-08-27T18:24:19.250 に答える
0

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
于 2017-01-08T19:51:55.647 に答える