如何在PostgreSQL数据库中存储视频?

时间:2012-01-23 11:07:07

标签: database postgresql file-io binary-data

我将图像文件(如jpgpng)存储在PostgreSQL数据库中。我找到了information on how to do that here

同样,我想将视频存储在PostgreSQL数据库中。我在网上搜索 - 有人说应该使用bytea这样的数据类型来存储二进制数据。

您能告诉我如何使用bytea列来存储视频吗?

3 个答案:

答案 0 :(得分:11)

如果参照完整性不是您的首要要求,我通常建议在PostgreSQL中存储巨大的blob(二进制大对象)。在文件系统中存储大文件效率更高:
更快,更少的磁盘空间,更容易备份。

我已经对previous answer中针对类似问题的选项进行了更全面的评估。 (与手册有深层链接。)

答案 1 :(得分:6)

我们对bytea数据类型的实际限制进行了一些测试。理论限制为1GB。但实际限制大约是20MB。处理较大的bytea数据会占用太多RAM,编码和解码也需要一些时间。我个人认为存储视频不是一个好主意,但如果你需要它,那就使用大型对象 - blob。

答案 2 :(得分:0)

在不知道您使用的编程语言的情况下,我只能提供一般方法:

  • 创建一个包含'bytea'类型列的表。
  • 将视频文件的内容转换为变量。
  • 在该表中插入一行,并将该变量作为bytea列的数据。