LinuxとWindowsのファイルパス表記で混乱しているようです。ルートに固定されたLinuxパスがあります。Windowsはドライブ文字を使用します。ドライブ文字は、Windowsで実行しているときにも指定できます。
Windows表記を使用する場合、使用していない場合は円記号をエスケープする必要があることに注意してください。standard_conforming_strings = on
これは、Postgres 9.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サーバーは、円記号ではなくスラッシュを使用したデフォルトのパス表記も理解することに注意してください。
SQLCOPY FROM / TO
の場合、サーバープロセスの所有者(postgres
デフォルト)が読み取り/書き込みのアクセス許可を持つ任意のパスを使用できます。
psqlクライアントの\copy
metaコマンドには、現在のローカルユーザーの権限が適用されます。