PostgreSQLのCOPYステートメントを使用すると、次のようにテキストファイルからデータベースのテーブルにデータをロードできます。
COPY CME_ERROR_CODES FROM E'C:\\Program Files\\ERROR_CODES\\errcodes.txt' DELIMITER AS '~'
上記のステートメントは、サーバーが別のWindowsマシンにある場合に、postgresqlクライアントを備えたマシンから実行されます。上記のステートメントを実行すると、私は不平を言いますERROR: could not open file "C:\Program Files\ERROR_CODES\errcodes.txt" for reading: No such file or directory
。
調査の結果、COPY
ステートメントが同じパス(C:\ Program Files \ ERROR_CODES)にあるpostgresqlサーバーのマシンでローダーファイル(errcodes.txt)を探していることがわかりました。これをテストするために、postgresqlサーバーのマシンに同じフォルダー構造を作成し、そこにerrcodes.txtファイルを保持しました。その後、COPYステートメントはうまく機能しました。COPYステートメントでは非常に厳しい制約に見えます。これを回避するために必要な設定はありますか?それともCOPYステートメントの振る舞いですか?PostgreSQLドキュメントに関する情報は見つかりませんでした。