在debian生产服务器上升级PostgreSQL的完整解决方案

我正在使用Debian 6(Squeeze)制作几个网站.我决定使用 postgresql backports,以便我可以使用Postgresql 9.0功能.我认为它将保持9.0并接收该主要版本的更新.

不幸的Squueze backports更新到Postgresql 9.1,所以我可能不会收到9.0的更新.

我正计划升级到9.1,但我知道它不是自动完成的.

我已经阅读了官方的pg_upgrade和debian的pg_upgradecluster,但我希望完整的升级指南.

>步骤是什么(首先是apt-get install postgresql,然后是pg_upgradecluster,然后删除旧的群集)?步骤列表会很好.
>什么是可能的故障情况?
>如何准备失败并对其作出反应?

我可以停止数据库几个小时,所以我想做好准备

很难为您提供根据您的情况/环境量身定制的逐步升级流程.
我试图点击下面的一些亮点,但你真的需要根据你的环境定制流程.

第零步,决定是否需要升级. Postgres 9.1带来了同步复制和一些其他很酷的东西,如果你需要它们很有用,但如果你不需要,就不会立即升级.

第1步,如果您的数据库很大,预计会花费很长时间.
即使使用pg_upgrade,复制备份数据的简单过程也可能需要一段时间:我们的16GB数据库需要一个小时或更长时间才能获得pg_dump / pg_restore,或者大约需要10-20分钟才能获得pg_upgrade.

第2步,我建议阅读9.1 Release Notes.确保你所需要的一切都没有破坏,你使用的任何东西都没有改变.
没有什么比数据库升级更能破坏您的生产系统以破坏您的月份.

步骤3,The upgrading section of the Postgres manual是必读的.

第4步,(在这里插入任何Debian特定的东西,但那真的不是我的包:-)

步骤5,创建升级计划.

步骤6,测试升级计划(技术上可选,但强烈建议).

步骤7,在生产系统上进行升级.

标准警告适用:

>升级可能会破坏您的数据库.做一个备份.

>确保您可以恢复它.
>确保您也可以恢复数据库系统的二进制文件.
(如果可以的话,请继续使用旧的Debian软件包 – 我已经看到人们无法退出失败的升级,因为他们不再拥有旧的数据库二进制文件了,这确实非常悲伤.)

>这将花费比您预期更长的时间.计划这个.我公司的数据库升级政策是“周五下午6点开始.如果周日上午9点没有工作,请回滚.”>装上一只刮毛猴如果您的数据非常重要,请将其副本还原到其他位置并测试升级路径.是的,我使用16GB数据库.如果我能找到一种让它工作的方法,我仍然可以使用160GB的数据库:-)

相关文章

项目需要,有个数据需要导入,拿到手一开始以为是mysql,结果...
本文小编为大家详细介绍“怎么查看PostgreSQL数据库中所有表...
错误现象问题原因这是在远程连接时pg_hba.conf文件没有配置正...
因本地资源有限,在公共测试环境搭建了PGsql环境,从数据库本...
wamp 环境 这个提示就是说你的版本低于10了。 先打印ph...
psycopg2.OperationalError: SSL SYSCALL error: EOF detect...