I always create binary files with COPY table TO 'path/to/file' WITH BINARY
Fine, this works in this way : postgresql -> binary
binary -> postgresql
The way I want is :
csv -> binary -> postgresql
Is this just to be quicker or are you going to add some business logic while converting CSV data? As you mentioned ETL, I assume the second, as I don't think that converting CSV to binary and then loading it to PostgreSQL will be more convenient than loading directly from CSV... as quicker as it can be, you have anyway to load data from CSV.
Right, ETL process means huge business logic.
get the data (csv or other) -> transform it -> produce a binary -> copy from binary from stdin
Producing 100GO CSVs, is a waste of time.
Binary file format is briefly described in the last part of the doc you linked, under "Binary format", and there's also reference to source files.
And if possible, transforming csv to binary throught java.
This is beyond my knowledge, ATM. I'm just starting with Java and JDBC is still in the TODO list, sorry... :-)
Cheers Moreno.-
Documentation explains a bit. Moreover, I have found a detailled answer here :