当前位置:  开发笔记 > 编程语言 > 正文

如何用psql导出二进制文件(没有PGCOPY标头)?

如何解决《如何用psql导出二进制文件(没有PGCOPY标头)?》经验,为你挑选了1个好方法。

bytea在PostgreSQL DB中有一个包含PDF文件的列.如何使用导出该文件psql

我试过了:

psql -U  -h  -p  -d  -c "\copy (select  from  where  = ) to STDOUT with BINARY;" > output.pdf


这样可以保存文件,我可以在PDF阅读器中打开它.但是当我检查文件时hexdump -C output.pdf | head,我看到它有一个标题开头PGCOPY.

如何导出没有PGCOPY标题的文件?



1> Carcamano..:

我使用Postgre的encode()十六进制和bash xxd从十六进制解码:

psql -U  -h  -p  -d  -c "\copy (SELECT encode(, 'hex') from 
where = ) to STDOUT" | xxd -p -r > output

文件看起来不错:

$ hexdump -C output | head -n 5
00000000  25 50 44 46 2d 31 2e 36  0d 25 e2 e3 cf d3 0d 0a  |%PDF-1.6.%......|
00000010  38 37 20 30 20 6f 62 6a  0d 3c 3c 2f 4c 69 6e 65  |87 0 obj.<


上帝祝福你!这是对应该简单但非常复杂的事物的最简单答案!
推荐阅读
夏晶阳--艺术
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有