postgresql - 将 PowerPoint、PDF 和此类文档文件保存到 Postgres 数据库
问题描述
我一直在寻找一种将各种文件类型(即:PDF、JPEG、PowerPoint )从使用JDBC的 Web 表单保存到Postgresql数据库的方法。我在 Postgres 中遇到过二进制数据类型,但有人告诉我这不是最佳实践。
是否有另一种方法可以解决这个问题,或者序列化是唯一的选择吗?
解决方案
存储在数据库中
如果您坚持将此类文档存储在数据库中,那么确实,二进制类型的存在就是为了这个目的。当您拥有数据库无法通过许多其他数据类型之一在语义上理解的数据时,二进制类型就是后备。
Postgres 知道整数是什么,aTIMESTAMP WITH TIME ZONE
是什么,以及地理空间坐标是什么,并且知道如何搜索和排序这些值,但 Postgres不知道如何理解 PowerPoint 或 PDF 文件的任何意义或意义。从数据库引擎的角度来看,这些文件只是一堆难以理解的位。
这种字段中的文件值以可爱的首字母缩略词而闻名:BLOB,表示二进制大对象。
存储在数据库之外
通常,我看到的最佳实践是将此类文档存储在数据库之外的持久存储文件系统中。
在数据库中,存储一个表示文件系统路径或 URL 的字符串,以便在需要时找到该文件。
推荐阅读
- python-3.x - 尝试使用 systemd 启动 python 脚本,但它在 Raspberry Pi 上不起作用
- python - 数组到数据框中的列
- spring - 如何使用 Reactor 保存嵌套实体?
- reactjs - 将跟踪选项应用于 redux-thunk 设置
- git - 每当执行拉/推操作时,Visual Studio 2019 都会关闭所有打开的选项卡
- wordpress - wordpress 整数日期到日期
- android - Android init 进程将在哪里创建线程
- javascript - 有没有办法在不重新启动 Chrome 的情况下重新加载内容脚本?(Chrome 扩展程序)
- css - 如何设置tinymce textareas高度并删除文本区域的下框
- python - 如何修改 sagemaker 中的预测函数以返回形状值和预测?