我们正在运行一个需要 Debian Etch 上的 PostgreSQL 8.2 的旧版应用程序。由于 Debian 不再支持 etch,我们正在认真考虑升级到 Debian Lenny。但是,我们无法继续在 Debian Lenny 上运行 PostgreSQL 8.2。
因此,是否可以在从 Debian Etch 升级的 Debian Lenny 系统上继续运行 PostgreSQL 8.2(不升级,也许固定)?如果可以,怎么做?
答案1
几乎可以在任何类 Unix 系统上运行任何版本的 Postgres --获取源代码从 Postgres 网站下载并编译它(这里有详细说明)。
如果您雄心勃勃,也可以按照操作系统的打包说明进行操作,将降级的数据库作为软件包进行安装,但您也可以轻松跳过该步骤,且几乎不会产生任何不良影响。
最好在唯一路径(/opt/postgres82
、/usr/local/postgres82
等)中编译/安装旧版本,以确保您的操作系统不会破坏它。
请注意,当采用这种方式时,您需要知道底层库何时发生变化(如果 Postgres 与库链接,这可能会破坏您的数据库服务器,从而需要重新编译),并且您可能需要以适合您的操作系统的方式安装您自己的启动脚本。
答案2
如果您只是从 etch 升级到 lenny,您安装的 postgresql-8.2 包不会消失。这就是它的设计方式。(升级时请检查 aptitude 输出以确保无误。如果需要,您可以将包设置为保留,但这不是必需的。)