PgJDBC nie obsługuje COPY bezpośrednio, ale robi to za pomocą CopyManager API, które możesz uzyskać z PGConnection interfejs java.sql.Connection zwrócone przez PgJDBC.
Niestety nie możesz użyć tego ze zwykłego pliku SQL, w którym mieszasz COPY operacje z innymi poleceniami.
Osobiście wyłożyłbym psql uruchomić .sql pliki używające Ant <exec> zadanie. W ten sposób możesz dołączyć COPY dane wbudowane w plikach SQL.
Byłoby miło włączyć PgJDBC do obsługi COPY , ale to nie jest łatwe. W rzeczywistości jest to inny tryb protokołu w PostgreSQL i nie ma większego sensu używanie do tego zwykłych interfejsów JDBC z przygotowanymi instrukcjami, wykonywaniem itp. Możemy dostarczyć execSQLScript na niestandardowym PGconnection ale to by ci nie pomogło, ponieważ rzeczy takie jak <sql> Anta zadanie by go nie użyło. Musisz napisać niestandardowe zadanie.
Zamiast tego, PgJDBC musiałby okłamywać klientów - kiedy wszedł COPY tryb po COPY polecenie, musiałby zignorować specyfikację JDBC i tak naprawdę nie robić tego, co powinien w odpowiedzi na wykonanie instrukcji JDBC. Mogłoby to spowodować uszkodzenie wielu rzeczy.
Tak więc - na razie najłatwiejszą opcją jest po prostu wykonanie psql polecenie, aby robić to, co chcesz.