PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

commande de copie postgres, fichier binaire

Une possibilité, qui fonctionne bien que vous ne l'aimiez peut-être pas :

psql -At -c "select encode(content, 'base64') from t where ..."  | base64 -d

c'est-à-dire imprimer le contenu en base64 et le décoder. Je pense que la réalité est que psql est destiné à produire une sortie lisible, et le persuader de restituer des données binaires brutes est intentionnellement difficile.

Je suppose que si vous en voulez assez, vous pouvez écrire un outil (script Perl/python) pour vous connecter à la base de données et imprimer directement la sortie brute.

L'option "WITH BINARY" de COPY ne fait pas qu'une simple sortie binaire, elle effectue un encodage sur lequel il est probablement douteux de s'appuyer.