「テーブルのCSV出力」
postgresqlでCSVファイルに出力するには
回答
COPYコマンドを使うだけです。
COPY テーブル名 TO '出力先テーブルへのフルパス' USING DELIMITERS '区切り記号';
ちなみに、ファイルから入力する場合には
COPY テーブル名 FROM 'ファイルのフルパス' DELIMITERS '区切り記号';
で可能です。
ソース
MyTableテーブルを/tmp/MyTable.csvファイルにカンマ区切りで出力するのであれば、
COPY MyTable TO '/tmp/MyTable.csv' USING DELIMITERS ',';
windowsの場合は以下のようにスラッシュっを使ってフルパスで指示する
COPY test FROM 'c:/tmp/MyTable.csv' USING DELIMITERS ',';
MyTableテーブルを/tmp/MyTable.tabファイルにタブ区切りで出力するのであれば、
COPY MyTable TO '/tmp/MyTable.csv';
他にpsqlコマンドを使ってshellから行う場合には
$ psql -c 'SELECT * FROM テーブルの名前;' -A -F, > /var/abc.csv
とする方法もあります。
「-A 桁そろえをしない」「-F セパレータを指定」のスイッチをつけています。