从不受支持的版本更新 postgres 数据库重要吗?
Is updating a postgres database from an unsupported version important?
到目前为止,我只看到两个原因让我考虑从 Postgres 9.4(已经是一个不受支持的版本)进行更新。
- 我想使用 Django 3.1 开发一个新的网站,这个新版本的 Django 不再支持 Postgres 9.4。
- 我会有一个新的功能,也许还有一个改进的性能。
还有其他可能更重要的更新原因吗?我应该关心它是一个不受支持的版本吗?如果是,是否值得一直更新到最新的稳定版本?
查看 PostgreSQL 项目关于“why update”的声明:
We always recommend that all users run the latest available minor release for whatever major version is in use.
[...]
While upgrading will always contain some level of risk, PostgreSQL minor releases fix only frequently-encountered bugs, security issues, and data corruption problems to reduce the risk associated with upgrading. For minor releases, the community considers not upgrading to be riskier than upgrading.
现在,如果您运行正在使用不受支持的版本,则不再有次要版本,因此您无法修复上述安全问题和数据损坏问题。
只有当您的数据对您不重要时,这是一个好主意。
有一种 wide-spread 的想法,如果一个数据库 运行 这么多年没有问题,那么在可预见的将来它将继续 运行 而没有问题。事实并非如此:
一些数据损坏问题不会立即显现。可能需要事务 ID 回绕或某些操作中的异常时间才能揭示到目前为止一直处于休眠状态的问题。
从未升级的数据库通常运行在旧硬件上,这是数据损坏的主要原因。事实上,如果你想升级硬件而不是改变软件,你可能会发现越来越难找到旧版本的程序来安装。旧软件甚至可能无法在新硬件上 运行。
我在职业生涯中处理过的大多数损坏的数据库都是 运行旧的、不受支持的 PostgreSQL 版本。这不可能是巧合。
到目前为止,我只看到两个原因让我考虑从 Postgres 9.4(已经是一个不受支持的版本)进行更新。
- 我想使用 Django 3.1 开发一个新的网站,这个新版本的 Django 不再支持 Postgres 9.4。
- 我会有一个新的功能,也许还有一个改进的性能。
还有其他可能更重要的更新原因吗?我应该关心它是一个不受支持的版本吗?如果是,是否值得一直更新到最新的稳定版本?
查看 PostgreSQL 项目关于“why update”的声明:
We always recommend that all users run the latest available minor release for whatever major version is in use.
[...]
While upgrading will always contain some level of risk, PostgreSQL minor releases fix only frequently-encountered bugs, security issues, and data corruption problems to reduce the risk associated with upgrading. For minor releases, the community considers not upgrading to be riskier than upgrading.
现在,如果您运行正在使用不受支持的版本,则不再有次要版本,因此您无法修复上述安全问题和数据损坏问题。
只有当您的数据对您不重要时,这是一个好主意。
有一种 wide-spread 的想法,如果一个数据库 运行 这么多年没有问题,那么在可预见的将来它将继续 运行 而没有问题。事实并非如此:
一些数据损坏问题不会立即显现。可能需要事务 ID 回绕或某些操作中的异常时间才能揭示到目前为止一直处于休眠状态的问题。
从未升级的数据库通常运行在旧硬件上,这是数据损坏的主要原因。事实上,如果你想升级硬件而不是改变软件,你可能会发现越来越难找到旧版本的程序来安装。旧软件甚至可能无法在新硬件上 运行。
我在职业生涯中处理过的大多数损坏的数据库都是 运行旧的、不受支持的 PostgreSQL 版本。这不可能是巧合。