Я хочу загрузить файлы, хранящиеся в формате bytea, с помощью java. У меня нет прав суперпользователя. Используя приведенный ниже код, я загружаю файл с шестнадцатеричной кодировкой и конвертирую его в pdf, но преобразованный pdf файл поврежден, тогда как если я копирую с помощью функции \copy (не могу использовать в java) через терминал, процесс загрузки работает гладко.
String sql = "(SELECT encode(f,'hex') FROM test_pdf where id='2' LIMIT 1)";
System.out.println(sql);
CopyManager copyManager = new CopyManager((BaseConnection) conn);
FileWriter filew = new FileWriter("/home/sourabh/image.hex");
copyManager.copyOut("COPY "+sql+" TO STDOUT ", filew );`
А потом :
xxd -p -r image.hex > image.pdf