PgJDBC не поддържа COPY директно, но го прави чрез CopyManager API, който можете да получите от PGConnection интерфейс на java.sql.Connection върнат от PgJDBC.
За съжаление, не можете да използвате това от обикновен SQL файл, където смесвате COPY операции с други команди.
Лично аз бих дал пари за psql за да стартирате .sql файлове с помощта на Ant <exec> задача. По този начин можете да включите COPY данни на линия във вашите SQL файлове.
Би било хубаво да разрешите на PgJDBC да обработва COPY , но не е лесно. Това е ефективно различен режим на протокол в PostgreSQL и няма много смисъл да се използват обичайните JDBC интерфейси с подготвени оператори, изпълнение и т.н. за него. Можем да предоставим execSQLScript на персонализираната PGconnection но това няма да ви помогне много, защото неща като <sql> на Ant задача няма да го използва. Ще трябва да напишете персонализирана задача.
Вместо това PgJDBC ще трябва доста да лъже клиентите - когато въведе COPY режим след COPY команда, ще трябва да игнорира спецификацията на JDBC и наистина да не прави това, което трябваше да направи в отговор на изпълнението на израз на JDBC. Това вероятно ще повреди всякакви неща.
Така че - засега най-лесният вариант е просто да изпълните psql команда, за да направите това, което искате.