postgresql存储二进制大数据文件
如果想把整个文件或图片存储在数据表的一个字段内,该字段可以选择二进制类型,然后将文件按二进制存储起来,文本文件也可以存在text字段内。
示例如下:
二进制类型bytea的操作(在最大值内,有内存限制)
1、 创建表
1 | Create table byteatable(id int ,obj bytea); |
2、 将文件放到coordinator目录下/mnt/postgresql/coord
通过pg_read_binary_file()函数,插入一张图片- 目录:/mnt/postgresql/coord/1.jpg
1 2 3 4 | postgresql =# Insert into byteatablevalues( 256 ,pg_read_binary_file( '1.jpg' )); INSERT 0 1 postgresql =# Insert into byteatablevalues( 256 ,pg_read_binary_file( 'weibo.txt' )); INSERT 0 1 |
3、 也可以调用pg_read _file()将一个文本文件存储在一个text字段内
1 2 3 4 5 6 | postgresql=#ALTER TABLE byteatable ADD COLUMN body text; ALTER TABLE postgresql=#Insert into byteatable values( 256 ,pg_read_binary_file( 'weibo.txt' ), pg_read_file( 'weibo.txt' )); INSERT 0 1 postgresql =# select body from byteatable whereid= '256' ; |
注意:函数pg_read_binary_file()和pg_read_file()中的路径必须是相对路径,默认路径是coordinator目录下,并且必须在coordinator目录下或者coordinator目录的子目录下。
Name |
Return Type |
Description |
pg_read_file(filename text [, offset bigint, length bigint]) |
text |
Return the contents of a text file |
pg_read_binary_file(filename text [, offset bigint, length bigint]) |
bytea |
Return the contents of a file |
分类:
PostgreSQL系列
标签:
postgresql
, 存储二进制大数据文件
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?