PgJDBC biedt geen ondersteuning voor COPY rechtstreeks, maar wel via de CopyManager API die u kunt krijgen van de PGConnection interface van de java.sql.Connection geretourneerd door PgJDBC.
Helaas kun je dat niet gebruiken vanuit een gewoon SQL-bestand waarin je COPY . mixt bewerkingen in met andere commando's.
Persoonlijk zou ik betalen voor psql om .sql uit te voeren bestanden met de Ant <exec> taak. Op die manier kunt u COPY . opnemen gegevens in-line in uw SQL-bestanden.
Het zou leuk zijn om PgJDBC in staat te stellen COPY te verwerken , maar het is niet gemakkelijk. Het is in feite een andere protocolmodus in PostgreSQL, en het heeft niet veel zin om daarvoor de gebruikelijke JDBC-interfaces te gebruiken met voorbereide instructies, uitvoer, enz. We kunnen een execSQLScript op de aangepaste PGconnection maar dat zou je niet veel helpen, want dingen als Ant's <sql> taak zou het niet gebruiken. Je zou een aangepaste taak moeten schrijven.
In plaats daarvan zou PgJDBC min of meer moeten liegen tegen klanten - toen het COPY invoerde modus na een COPY commando, zou het de JDBC-specificatie moeten negeren en niet echt doen wat het moest doen als reactie op het uitvoeren van JDBC-instructies. Dit zou waarschijnlijk allerlei dingen kapot maken.
Dus - voor nu is verreweg de gemakkelijkste optie om gewoon de psql . uit te voeren commando om te doen wat je wilt.