64

コンピュータ: Mac OS X、バージョン 10.8 データベース: Postgres

csv ファイルを postgres にインポートしようとしています。

pg> copy items_ordered from '/users/darchcruise/desktop/items_ordered.csv' with CSV;
ERROR:  could not open file "/users/darchcruise/desktop/items_ordered.csv" for reading: Permission denied

それから私は試しました

$> chown postgres /users/darchcruise/desktop/items_ordered.csv
chown: /users/darchcruise/desktop/items_ordered.csv: Operation not permitted

最後に、試してみました

$> ls -l
-rw-r--r--  1 darchcruise  staff      1016 Oct 18 21:04 items_ordered.csv

どんな助けでも大歓迎です!

4

16 に答える 16

139

psqlコマンドライン ツールを想定すると、\copy代わりにcopy.

\copyファイルを開き、コンテンツをサーバーにフィードしますが、copyサーバーにファイル自体を開いて読み取るように指示します。これは、アクセス許可に関して問題があるか、クライアントとサーバーがファイルを共有していない異なるマシンで実行されている場合は不可能です。 .

内部的に\copyは として実装されてCOPY FROM stdinおり、サーバー側と同じオプションを受け入れますCOPY

于 2013-10-19T13:31:38.477 に答える
81

Copy the CSV file to /tmp

For me this solved the issue.

于 2015-04-27T15:31:19.853 に答える
23
chmod a+rX /users/darchcruise/ /users/darchcruise/desktop /users/darchcruise/desktop/items_ordered.csv

これにより、フォルダーのアクセス権が変更されます。誰でもあなたのファイルを読むことができることに注意してください。管理者権限のないユーザーとして chown を使用することはできません。また、共有ファイルの作成を容易にするためにumaskを学習することも検討してください。

于 2013-10-19T06:43:50.637 に答える
5

リモート サーバーからローカル ディスクにデータをエクスポートしようとしたときに問題が発生しました。copySQLが実際にサーバー上で実行され、サーバー フォルダーに書き込もうとしていることに気付きませんでした。代わりに、psql コマンドである which を使用するのが正しいこと\copyであり、期待どおりにローカル ファイル システムに書き込みます。http://www.postgresql.org/message-id/CAFjNrYsE4Za_KWzmfgN1_-MG7GTw_vpMRxPk=OEjAiLqLskxdA@mail.gmail.com

おそらく、それは他の誰かにも役立つかもしれません。

于 2015-12-14T11:50:12.760 に答える
4

これを行う別の方法として、pgAdmin があり、GUI の使用に慣れている場合は、スキーマ内のテーブルに移動し、ファイルをインポートするテーブルを右クリックして [インポート] を選択し、コンピューターでファイルを参照して、[インポート] を選択します。ファイルの種類、データを代入する列を指定して、[インポート] を選択します。

これは、pgAdmin III と 9.4 バージョンの PostgreSQL を使用して行われました。

于 2015-07-22T16:42:10.287 に答える
0

同じエラー メッセージが表示されましたがpsycopg2、PostgreSQL との通信に使用していました。copy_from関数を使用してアクセス許可の問題を修正しました。これによりcopy_expert、Python スクリプトを実行しているユーザーとしてクライアント側でファイルが開かれ、STDIN.

詳細については、このリンクを参照してください。

于 2019-07-03T12:54:20.623 に答える
-3

リモートホストに接続してpgadminを使用している可能性があります。システムから更新しようとしていますが、リモートシステムのファイルシステムでそのファイルを検索しています...私が直面したエラーワットは、それもチェックしてください

于 2014-03-22T09:48:45.317 に答える