file - 如何将 Postgres bytea 列下载为文件

标签 file postgresql byte

目前,我有许多文件作为 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/

相关文章:

C# 无法写入文件 ("being used by another process")?

java - 有没有办法在java中获取属性文件中某些过滤键的列表?

postgresql - Spark 写入 Postgresql。批量更新异常?

python - 如何使用 Python 将 4 个字节解释为 32 位 float

python - 如何在Python中将16位无符号整数拆分为字节数组?

arrays - 我们如何在Rust中操纵u8数组的第一位? [复制]

java - 从文件系统中获取文件并将其作为 File 对象传递

c++ - 清除C++中所有文件中的数据

Django SELECT COUNT(*) as "__count"对于每个查询

postgresql - 如何使用 pg_trgm 按相似值分组