我必须将一个80GB的数据库从pg8.2迁移到pg8.4。 该数据库有很多的股票程序,我需要提示迁移它sucesfully(和无痛;))任何提示,欢迎:)
除了其他答案中给出的有价值的具体build议之外,这类问题的规范答案是阅读发行说明。 例如,在从8.2升级到8.4时,应该阅读发行说明
特别是列出已知不兼容性的迁移部分。
testing完全是必需的 。 自从你跳过它, 从8.3开始 :
非字符数据types不再自动转换为文本(Peter,Tom)
我们花了相当多的工作去寻找所有我们信任自动投射的地方(例如,我们在WHERE dob LIKE '%-09-%'发送生日邮件,不仅信任dob是自动types转换,而且Postgres会为其输出selectyyyy-mm-dd格式)。
这里最好的build议是遵循Postgres手册中提供的升级指导 (另请参阅本节 ) – 这将涉及到数据库转储和恢复。
您应该在开发机器上设置新的数据库,然后在生产硬件上进行恢复(&DBfunction)。
您应当在创build交换机时(或者为新的安装指定一个新的数据目录path),从旧安装中明确地备份PGDATA目录,以便在出现无法预料的灾难性故障的情况下返回旧系统迁移过程。
testingtesting和更多testing。 如果可能,请在移动之前将它安装在新的机器/服务器上,然后执行testing运行,检查运行哪一个,更重要的是哪些不运行。 制定一切需要工作的testing计划。