On 18 September 2014 16:06, David Rysdam <drys...@ll.mit.edu> wrote: > I've got a some tables with bytea fields that I want to export only the > binary data to files. (Each field has a gzipped data file.) > > I really want to avoid adding overhead to my project by writing a > special program to do this, so I'm trying to do it from psql. Omitting > the obvious switches for username, etc, here's what I'm doing: > > psql -t -c "\copy (select mybinaryfield from mytable where key = 1) to > 'file'" > > That works, but I get escaped bytes. I want actual binary directly out > of the DB. Another option might be: > > psql -t -c "\copy (select mybinaryfield from mytable where key = 1) to > 'file'" with format binary > > However, there are two problems. First, I get an syntax error "at or > near 'format'". (Running 9.2 client and server.) And second, I suspect > that'll be some "proprietary" PG format, not the actual bytes from just > my field. > > What option am I missing? > > > > Hi, first of all "with format binary" must be a part of the -c command, not part of the shell command.
I don't know why this doesn't work: psql -t -c "\copy (select mybinaryfield from mytable where key = 1) to 'file' with format binary " but this works for me: psql -t -c "\copy (select mybinaryfield from mytable where key = 1) to 'file' binary " regards, Szymon