我将图像文件(如jpg
、png
)存储在PostgreSQL数据库中。我在这里找到了如何做到这一点的信息。
同样,我想将视频存储在PostgreSQL数据库中。我在网上搜索过——有人说应该使用bytea
这样的数据类型来存储二进制数据。
你能告诉我如何使用bytea
列来存储视频吗?
如果引用完整性不是你的首要要求,我通常不建议在PostgreSQL中存储巨大的Blob(二进制大对象)。在文件系统中存储巨大的文件要高效得多:
速度更快,使用的磁盘空间更少,备份更容易。
我已经写了一份更全面的评估报告,对你在之前回答类似问题时的选择进行了评估。(与手册的深度链接。)
我们对字节数据类型的实际限制进行了一些测试。存在1GB的理论极限。但实际限制约为20MB。处理较大的字节数据消耗了太多的RAM,编码和解码也需要一些时间。就我个人而言,我不认为存储视频是个好主意,但如果你需要,那就用一个大的物体——斑点。
在不知道您使用的编程语言的情况下,我只能给出一个通用的方法:
- 创建一个具有"byta"类型列的表
- 将视频文件的内容获取到一个变量中
- 在该表中插入一行,并将该变量作为字节列的数据