到目前为止,我只看到两个原因让我考虑从Postgres 9.4(它已经是一个不受支持的版本(进行更新。
- 我想使用Django 3.1来开发一个新的web,而这个Django的新版本不再支持Postgres9.4
- 我会有一个新的功能,也许性能会有所提高
是否还有其他更重要的原因需要更新?我应该关心这是一个没有支持的真理吗?如果是,是否值得一直更新到最新的稳定版本?
请参阅PostgreSQL项目关于"为什么更新"的声明:
我们始终建议所有用户为正在使用的任何主要版本运行最新可用的次要版本。
[…]
虽然升级总是包含一定程度的风险,但PostgreSQL次要版本只修复了经常遇到的错误、安全问题和数据损坏问题,以降低升级带来的风险。对于小版本,社区认为不升级比升级风险更大。
现在,如果您运行的是不受支持的版本,则不再有次要版本,因此无法修复上述安全问题和数据损坏问题。
只有当你的数据对你来说并不重要时,这才是个好主意。
人们普遍认为,如果一个数据库运行了这么多年没有问题,那么在可预见的未来,它将继续运行而没有问题。这不是真的:
-
一些数据损坏问题不会立即显现。在某些操作中,可能需要一个事务ID的包装或一个不寻常的时间来揭示迄今为止一直处于休眠状态的问题。
-
从未升级的数据库通常在旧硬件上运行,这是数据损坏的主要原因。事实上,如果你想升级硬件而不想更改软件,你可能会发现越来越难找到旧版本的程序来安装。旧软件甚至可能无法在新硬件上运行。
-
在我的职业生涯中,我遇到过的大多数损坏的数据库都运行着旧的、不受支持的PostgreSQL版本。这不可能是巧合。