web-dev-qa-db-ja.com

postgresでのCOPY FROM STDINの使用

私はPostgresを使い始めたばかりで、その機能を理解するためにサンプルデータベースを作成しようとしています。周りを見て、pgfoundry.orgにいくつかのスクリプトを見つけました。以前はOracleとMS-SQLの両方を使用していたので、コマンドは理解できますが、実行中のすべてのスクリプトが「COPY FROM」命令に到達するとエラーが返されます。より正確には、エラーは指定されたテーブルに挿入される最初の要素でスローされます。

スクリプトをクエリとpgScriptの両方として実行しようとしましたが、どちらの方法でも、COPY FROMの後の最初の行でエラーが発生します。

私はpgAdminIIIを使用しており、StackBuilderを使用してPostgreSQL 9.2.4.1をDBドライバとしてインストールしました。このコマンドの実行を妨げるいくつかの基本的な構成が欠けている場合がありますか、それともその動作が理解できませんでしたか?

編集:
エラーは:

ERROR:  syntax error at or near "7"
LINE 5600: 7 4 13 37 2012-03-10 16:41:43.797787 2012-03-10 16:41:43.797...
           ^

********** Error **********

ERROR: syntax error at or near "7"
SQL status: 42601
Char: 140891`

テキストは次のとおりです。

COPY action_abilitations (id, group_action_id, partecipation_role_id, group_id, created_at, updated_at) FROM stdin;
7   4   13  37  2012-03-10 16:41:43.797787  2012-03-10 16:41:43.797787`
14
Eugenio Laghi

pgScriptはpgAdminのローカルスクリプト拡張機能であり、ここではおそらくしないでください

pgAdminはGUIであり、コンソールアプリケーションではありません。簡単に使用できるstdinはありません。コンテンツをストリーミングするためにstdinが必要な場合は、コンソールアプリケーションであるpsqlを \copy psqlのメタコマンド

ファイルがある場合(明らかにそうです)、pgAdminのSQL COPY を使用します。

COPY action_abilitations (id, group_action_id, ...)
FROM 'C:\Users\usernexus\Desktop\database05-12-2012.sql';

ファイルは、postgresシステムユーザーが読み取り可能である必要があります。

この詳細情報 pgAdminサポートリストへの密接に関連するリクエスト

10