私は自分のpostgresサーバーに "new_test"というテーブルを作成しました。私はローカルのMacのCSVファイルから "test.csv"表。私の "new_test"テーブルと "test.csv"ファイルの両方に "compkey"という1つのカラムがあります。私はcsvファイルに4行しか持っていません。コマンドをのpsqlも、次のとおりです。psql/copy "そのようなファイルやディレクトリはありません"
\copy new_test(COMPKEY) from ‘TEST.csv’ with delimiter ‘,’ csv header;
しかし、私はこのエラーメッセージの取得維持:私は正しいファイルパスを取得する\cd
を試してみました、私は右側のフォルダによ確認している‘TEST.csv’: No such file or directory
を\! ls
、「TEST.csv」ファイルが表示されます。
\copy new_test(COMPKEY) from '/Users/the/rest/of/the/file/path/TEST.csv’ with delimiter ‘,’ csv header;
を...しかし、私は同じエラーメッセージが表示されます:私はまた、このように、私のMac上の絶対パスを試してみました。私は何が間違っているか不足していますか?
@VaoTsun正しい、私はコピー/の代わりにCOPYを使用している参照の唯一の違いは、? '' 'エラー:ファイルへのCOPYのためにスーパーユーザーでなければなりません。 ヒント:誰でもstdoutまたはstdinにCOPYできます。 psqlの\ copyコマンドは誰でも使えます.''' psqlを起動して動作するかどうかを '' 'sudo'''で試してみることができます。 –
いいえ - 悪いコピー貼り付け。デリミタ '、' csv header;で '/Users/the/rest/of/the/file/path/TEST.csv 'から' \ new_test(COMPKEY)をコピーしてください。絶対パスの場合はdiffがスラッシュです。 –
@ VaoTsunこれは私のために、また働く。私は、スラッシュが絶対パスを示すために使用されていたことを認識していませんでした。 –