LinuxとWindowsのファイルパス表記で混乱しているようです。ルートに固定されたLinuxパスがあります。 Windowsはドライブ文字を使用します。ドライブ文字は、Windowsで実行しているときにも指定できます。
Windows表記を使用する場合は、バックスラッシュをエスケープする必要があることに注意してください。 standard_conforming_strings =on
-これはPostgres9.1以降のデフォルトですが、古いバージョンではそうではありません。いいね:
COPY data_table from E'C:\\tmp\\outputdata.csv' WITH ...
standard_conforming_strings =on
の場合 簡単に書くことができます:
COPY data_table from 'C:\tmp\outputdata.csv' WITH ...
PostgreSQL Windowsサーバーは、バックスラッシュではなくスラッシュを使用したデフォルトのパス表記も理解することに注意してください。
SQLの場合 COPY FROM / TO
サーバーの所有者が処理する任意のパスを使用できます( postgres
デフォルトで)読み取り/書き込みの権限があります。
\ copy
の場合
psqlクライアントのメタコマンドは、現在のローカルユーザーの権限が適用されます。