Mam's WebSite
建築CGパース住宅CGパース

Mamの覚書Q&A検索

トップページMamの覚書Q&A検索postgresql(psql)⇒Q&A


大項目:「 postgresql 」 - 中項目:「 psql 」

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


Mam's WebSite