2015-12-18 6 views
5

Windowsのcliで 'COPY'コマンド(PostgreSQL)を使用する方法はありますか?窓のCLIコマンドでのPostgreSQLの「コピー」コマンドを使用しようと

COPY myTable FROM value.txt (DELIMITER('|')); 

私は、binディレクトリにある「コピー」の実行可能ファイルを見つけることができません。

cliで 'copy'コマンドを実行するにはどうすればいいですか?

追加: 私のWindowsアプリケーションは「コピー」機能を使用します。 アプリケーションから直接実行する必要があります。

ありがとうございます。

私は次のアプローチで私の必要な結果を見ることができました。

psql.exe -f copy.sql -p 5433 -U user -s postgres 

copy.sql 
\copy TARGET_TABLE FROM source.txt (DELIMITER('#')); 
+0

[このSO文章](http://stackoverflow.com/questions/876522/creating-a-copy-of-a-database-in-postgresql)あなたにご利用いただけますか? –

+0

すべてのデータベースをバックアップしているようですか?テキストファイルを頻繁にテーブルにアップロードするだけです。ありがとう。 – Sigularity

+0

テーブル全体を_copy_、またはソーステキストファイルのテーブルに_INSERT_したいですか? –

答えて

4

あなたは正しいコマンド(COPY)を持っていますが、あなたは、WindowsのコマンドラインからCOPYコマンドを使用したい場合はPostgresとの対話型セッションを開始する必要があります。

psql -U username yourdb 

これは、次のように見えるプロンプトであなたを残してください。

yourdb=# 

今、あなたはCOPYコマンドを使用することができ、それが動作するはずです:

COPY myTable FROM value.txt (DELIMITER('|')) 

あなたが持った問題COPYはWindowsの実行可能プログラムではありません。それはPostgresだけが理解できるPostgresコマンドです。

+0

私は参照してください。私のWindowsアプリケーションは 'コピー'機能を直接使用する必要があるので、プロンプトに 'COPY'コマンドを入れずにテキストファイルのコンテンツをアップロードできるかどうか疑問です。 – Sigularity

+0

バックグラウンドでPostgresセッションを開始するバッチスクリプトを書くことができるかもしれません。入力は、実行したいCOPYクエリです。 –

+0

私は "-f"オプションを使用してcopy.sqlにアクセスしました。 – Sigularity

関連する問題