トップへ(mam-mam.net/)

テーブルのCSV出力

検索:

「テーブルの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 セパレータを指定」のスイッチをつけています。