There seems to be a bug in psql's -R option (and the -P recordsep= )
version. I find that whereas the following succeeds:
/usr/local/pgsql/bin/psql -U xxxx -d xxxx -h xxxx \
-P format=unaligned -P fieldsep='\t' -P tuples_only \
-c "select * from tab where yoo='hoo'" | /usr/local/pgsql/bin/psql
-U xxxx -d xxxx -h xxxx \
-c "copy bar from stdin"
adding -R '\n' or -P recordsep='\n' or -P recordsep=newline all give an
error that the last field's data is too long for that field's format.
Presently, this seems a bogus option, since the COPY command cannot handle
any record separator except a newline, but the documentation for the "copy
from" command states that '\n' will be parsed as a newline, so this seems a
bug.