django - 从不受支持的版本更新 postgres 数据库重要吗?
问题描述
到目前为止,我认为只有两个原因让我考虑从 Postgres 9.4 进行更新(这已经是一个不受支持的版本)。
- 我想使用 Django 3.1 开发新的网络,而这个新版本的 Django 不再支持 Postgres 9.4。
- 我会有一个新功能,也许还有一个改进的性能。
是否还有其他可能更重要的更新原因?我应该关心它是不受支持的版本吗?如果是,是否值得一直更新到最新的稳定版本?
解决方案
请参阅 PostgreSQL 项目关于“<a href="https://www.postgresql.org/support/versioning/" rel="nofollow noreferrer">为什么更新”的声明:
我们始终建议所有用户针对正在使用的主要版本运行最新的可用次要版本。
[...]
虽然升级总是包含一定程度的风险,但 PostgreSQL 次要版本只修复经常遇到的错误、安全问题和数据损坏问题,以降低与升级相关的风险。对于次要版本,社区认为不升级比升级风险更大。
现在,如果您运行的是不受支持的版本,则不再有次要版本,因此您无法获得上述安全问题和数据损坏问题的修复。
仅当您的数据对您不重要时,这才是一个好主意。
有一个普遍的想法是,如果一个数据库运行了这么多年没有问题,那么在可预见的将来它将继续运行而没有问题。这不是真的:
一些数据损坏问题不会立即显现。在某些操作中可能需要交易 ID 回绕或不寻常的时间来揭示迄今为止一直处于休眠状态的问题。
从未升级的数据库通常在旧硬件上运行,这是数据损坏的主要原因。事实上,如果您想升级硬件而不是更改软件,您可能会发现越来越难以找到要安装的旧版本的程序。旧软件甚至可能无法在新硬件上运行。
在我的职业生涯中,我有幸处理过的大多数损坏的数据库都是运行旧的、不受支持的 PostgreSQL 版本。这不可能是巧合。
推荐阅读
- android - 如何将按钮添加到底部导航视图
- xml - Pyspark 的 XML 文件中的架构问题
- javascript - 如何将复杂类型添加到特定函数
- ios - 如何从主视图控制器对按钮进行编程以打开另一个视图控制器-firestore 记录
- mvvm - SwiftUI + 组合框架 + MVVM Publisher 返回空列表
- javascript - 未捕获的 SyntaxError:JSON.parse 中位置 0 处的 JSON 中的意外标记 u(
) 在 :1:6 | 在尝试解析时 - python - OpenCV 编码 CHW(Channel, Height, Width) 格式图像失败
- javascript - 鼠标悬停时保持 div 可见
- python-3.x - Python 3 编程帮助
- python - Python - 使用 for 循环构造集合