目前,我有许多文件作为 bytea 存储在 postgres 8.4 中。文件类型有.doc、.odt、.pdf、.txt等。
我可以知道如何下载存储在 Postgres 中的所有文件,因为我需要进行备份。 我需要它们的原始文件类型而不是 bytea 格式。
谢谢!
最佳答案
一个简单的选择是使用 COPY
使用 encode
命令为十六进制格式,然后应用 xxd
shell 命令(使用 -p continuous hexdump style 开关)。例如,假设我在示例表的 bytea 列中有 jpg 图像:
\copy (SELECT encode(file, 'hex') FROM samples LIMIT 1) TO
'/home/grzegorz/Desktop/image.hex'
$ xxd -p -r image.hex > image.jpg
我检查过它在实践中有效。
关于file - 如何将 Postgres bytea 列下载为文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6730729/