Postgres COPY コマンドを使用して、CSV ファイルからデータベースにデータをコピーするために、ローカルの Postgres DB で JDBC を使用しています。Java を使用して既存の CSV ファイルを解析し、DB 内のテーブルと一致する CSV 形式にします。次に、この解析済み CSV をローカル ディスクに保存します。次に、解析された CSV を使用して JDBC に COPY コマンドをローカル DB に実行させます。すべてが期待どおりに機能します。現在、JDBC を使用して、リモート サーバー上の Postgres DB で同じプロセスを実行しようとしています。ただし、JDBC が COPY を実行しようとすると、
org.postgresql.util.PSQLException: ERROR: could not open file "C:\data\datafile.csv" for reading: No such file or directory
COPY コマンドが DB にこのファイルをローカルで探すように指示することを理解するのは正しいですか? つまり、リモート サーバーはその C: ドライブを探しています (存在しません)。
この場合、リモート マシン上で「ローカルに」ではなく、自分のコンピュータを参照するようにコピー コマンドに指示する方法はありますか? コピーのドキュメントを読んでも、この機能を示すものは見つかりませんでした。
機能が存在しない場合は、データベース全体をローカルに入力してから、データベースをリモートサーバーにコピーすることを考えていますが、何も欠けていないことを確認したかっただけです.
ご協力いただきありがとうございます。