458

コマンドラインからヘッダー付きのPostgreSQLテーブルをCSVファイルにエクスポートしようとしていますが、ヘッダーなしでCSVファイルにエクスポートできます。

私のコードは次のようになります。

COPY products_273 to '/tmp/products_199.csv' delimiters',';
4

14 に答える 14

648
COPY products_273 TO '/tmp/products_199.csv' WITH (FORMAT CSV, HEADER);

マニュアルに記載されているように。

于 2009-07-13T16:04:08.800 に答える
244

psql コマンドラインから:

\COPY my_table TO 'filename' CSV HEADER

末尾にセミコロンはありません。

于 2012-06-19T13:06:29.763 に答える
36

これは機能します

psql dbname -F , --no-align -c "SELECT * FROM TABLE"
于 2012-01-13T06:03:16.840 に答える
10

最も簡単な方法 (を使用psql) は、--csvフラグを使用することです。

psql --csv -c "SELECT * FROM products_273" > '/tmp/products_199.csv'
于 2019-10-24T15:38:47.917 に答える
4

Heroku PGデータベースへのpgsl接続を使用して、Power Shellを機能させる方法を次に示します。

最初に、次のようにクライアントのエンコーディングを utf8 に変更する必要がありました。\encoding UTF8

次に、データを次の CSV ファイルにダンプしました。

\copy (SELECT * FROM my_table) TO  C://wamp64/www/spider/chebi2/dump.csv CSV DELIMITER '~'

私は CSV ファイルが好きではないので区切り文字として ~ を使用しました。通常は TSV ファイルを使用しますが、区切り文字として '\t' を追加することはできませ

于 2016-11-26T19:31:29.993 に答える
0

で、実行するpgAdminときと同じようにクエリ ステートメントを強調表示してF5を押しF9ます。ファイル ブラウザが開き、CSV を保存する場所を選択できます。

Azure Data Studio を使用している場合、手順は次のとおりです: Azure Data Studio: Save As CSV

これが普遍的な解決策ではないことはわかっていますが、ほとんどの場合、ファイルを手動で取得したいだけです。

于 2022-02-03T15:15:33.970 に答える
0

ここに記載されている他の回答はどれも実際にはうまくいかなかったため、この回答を投稿しています。COPY正しい権限がなかったため、Postgres 内から使用できませんでした。そこで、「グリッド行のエクスポート」を選択し、出力を UTF-8 として保存しました。

@Brian から提供されたpsqlバージョンも、別の理由で機能しませんでした。うまくいかなかった理由は、どうやら Windows のコマンド プロンプト (私は Windows を使用していた) が独自にエンコーディングをいじっていたようです。このエラーが発生し続けました:

エラー: エンコーディング "WIN1252" のバイト シーケンス 0x81 の文字は、エンコーディング "UTF8" に対応する文字がありません

私が最終的に使用した解決策は、CSV ファイルを読み取り、挿入ステートメントを Postgres テーブルに直接発行する短い JDBC スクリプト (Java) を作成することでした。これは機能しましたが、エンコーディングを変更していなければ、コマンド プロンプトも機能していたはずです。

于 2019-06-27T10:27:09.233 に答える