psql can only input/output text string,which can not be binary content。with
9.2,you can encode bytea to base64,save to file,then use shell command to
decode the file。
google “amutu.com pg bytea” can get a blog post。

with upcoming 9.4,you can change bytea to large object,then use lo_* psql
cmd save it to file。
2014年9月18日 10:09 PM于 "David Rysdam" <drys...@ll.mit.edu>写道:

> 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?
>
>
> --
> Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
>

Reply via email to