質問

私は、コマンドラインを介してCSVファイルへの見出しでPostgreSQLのテーブルをエクスポートしようとしている、しかし私はそれをCSVファイルにエクスポートする得るが、見出しなし。

次のように

私のコードが見えます:

COPY products_273 to '/tmp/products_199.csv' delimiters',';
役に立ちましたか?

解決

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

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

他のヒント

psqlのコマンドラインから:

\COPY my_table TO 'filename' CSV HEADER

末尾にセミコロン。

だけでなく、テーブル名の、あなただけ選択した列のデータを取得するためのクエリを書くことができます。

COPY (select id,name from tablename) TO 'filepath/aa.csv' DELIMITER ',' CSV HEADER;

管理者権限を持つ

\COPY (select id,name from tablename) TO 'filepath/aa.csv' DELIMITER ',' CSV HEADER;
私はPostgresのからファイルを書き出すためのアクセス許可を持っていない場合は、

私は、コマンドラインからクエリを実行できることがわかります。

psql -U user -d db_name -c "Copy (Select * From foo_table LIMIT 10) To STDOUT With CSV HEADER DELIMITER ',';" > foo_data.csv

この作品

psql dbname -F , --no-align -c "SELECT * FROM TABLE"

私が使用したバージョン9.5の場合、それはこのようになります:

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

このソリューションは、\copyを使用して私のために働きました。

psql -h <host> -U <user> -d <dbname> -c "\copy <table_name> FROM '<path to csvfile/file.csv>' with (format csv,header true, delimiter ',');"

相続人は、私はそれがHerokuのPGデータベースにpgsl connnectを用いた電力シェルを作業得た方法:

私が最初にこのようUTF8にクライアントの符号化方式を変更する必要がありました:\encoding UTF8

次に、このCSVファイルにデータをダンプします:

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

私はCSVファイルを好きではないので、私は、私は通常、TSVファイルを使用して、区切り文字として〜を使用し、それは私が区切り文字として「\ T」を追加できなくなるので、私は強いのそのAほとんど使用されませんのでcharaceter。

; 'fileablsoutepathwihname' 区切り文字 '' CSVファイルのヘッダに

コピー(anysqlクエリdatawanttoexport)

このUを使用すると、データをエクスポートすることができます。

ここに与えられた他の回答のどれもが、実際に私のために働いていないので、

私はこの回答を投稿しています。私は適切な権限を持っていなかったので、私は、Postgresの内からCOPYを使用することができませんでした。だから私は、「エクスポートグリッド行」を選択し、UTF-8として出力を保存します。

@Brianによって与えられたpsqlバージョンも異なる理由で、私のために動作しませんでした。それが機能しなかった理由は明らかに、Windowsのコマンドプロンプトが(私はWindowsを使用していた)、独自のエンコーディングで周りのおせっかいたということです。私はこのエラーを取得保管ます:

  

ERROR:エンコーディングのバイトシーケンス0x81と "WIN1252" との文字が "UTF8" をコードするには同等のを持っていません。

私が使用して終了ソリューションは、CSVファイルを読み込み、直接私のPostgresのテーブルへの挿入文を発行した短いJDBCスクリプト(Javaの)書くことでした。これは働いたが、コマンドプロンプトはまた、エンコーディングを変更されていない働いていると思います。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top