PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

comando de cópia postgres, arquivo binário


Uma possibilidade, que funciona, embora você possa não gostar:
psql -At -c "select encode(content, 'base64') from t where ..."  | base64 -d

ou seja, imprima o conteúdo como base64 e decodifique-o. Acho que a realidade é que o psql se destina a produzir uma saída legível, e convencê-lo a descartar dados binários brutos é intencionalmente difícil.

Suponho que se você quiser o suficiente, você pode escrever alguma ferramenta (script Perl/python) para se conectar ao banco de dados e imprimir a saída bruta diretamente.

A opção "WITH BINARY" para COPY não faz apenas uma saída binária simples, ela executa alguma codificação que provavelmente é duvidosa de se confiar.