Unixスタイルのファイル名の例:
COPY (SELECT * FROM tbl) TO '/var/lib/postgres/myfile1.csv' format csv;
COPY
に関するマニュアルを読む (バージョン8.2へのリンク)
絶対パスを使用する必要があります ターゲットファイル用。ファイル名は必ずスペースで二重引用符で囲んでください。 MS Windowsの例:
COPY (SELECT * FROM tbl)
TO E'"C:\\Documents and Settings\\Tech\Desktop\\myfile1.csv"' format csv;
PostgreSQL 8.2の場合 、standard_conforming_strings = off
\
であるため、デフォルトでは、円記号を2倍にする必要があります。 は特殊文字であり、PostgreSQLによって解釈されます。どのバージョンでも動作します。それはすべてすばらしいマニュアルにあります:
ファイル名
入力ファイルまたは出力ファイルの絶対パス名。 Windowsユーザーは、
E''
を使用する必要がある場合があります パス区切り文字として使用される文字列と二重円記号。
または、standard_conforming_strings = on
を使用した最新の構文 (Postgres 9.1以降のデフォルト):
COPY tbl -- short for (SELECT * FROM tbl)
TO '"C:\Documents and Settings\Tech\Desktop\myfile1.csv"' (format csv);
または、Windowsでファイル名にスラッシュを使用することもできます。
別の方法は、メタコマンド\copy
を使用することです。 デフォルトのターミナルクライアントのpsql
。
pgadminのようなGUIを使用して、小さなクエリのために結果グリッドからExcelにコピー/貼り付けすることもできます。
密接に関連する答え:
- あるDBのPostgreSQLビューから別のDBのテーブルに結果をコピーします
MySQLの同様のソリューション:
- PHPを介してMYSQLデータをExcel/CSVにエクスポートする