我有旧的数据库服务器 Postgres 8.4 和 Slony(从属服务器,只有一个表复制到该服务器)
我正在尝试使用不带 slony 和 slony deamon 的 Postgres 9.x 迁移到新服务器,稍后我将设置其他复制。
我的计划是:
1. 旧数据库:pg_dumpall -U --clean > dump.sql
2. 新数据库:psql -U < dump.sql
迁移过程中出现一些错误,但看起来像是由于新服务器上缺少 SLONY 而导致的错误。
这是正确的吗?我可以忽略它们吗?
3. 删除与 SLONY 相关的所有对象,以获得一个干净的数据库,仅包含数据。
如何操作?
我发现这但我不确定它是否描述了应该执行的每个操作。
总结:我需要帮助如何恢复数据库以使其干净并且没有 SLONY 对象。
答案1
Slony 添加架构,但不仅如此。Slony
将其自己的序列作为额外列添加到没有主键的表中。
要拥有一个干净的数据库,您必须删除所有这些对象。
我找到了解决方案:http://lists.slony.info/pipermail/slony1-general/2008-April/007906.html
我能够毫无错误地迁移到没有 Slony 的服务器。
我遇到的问题是附件中的脚本拒绝读取名称,我不得不对“cluster_name”进行硬编码。
更新:
Slony FAQ 的回答: http://slony.info/documentation/1.2/faq.html#AEN6892
SLONIK 表添加键 / SLONIK 表删除键
此命令是在 Slony-I 1.0 中引入的
在 Slony-I 2.0 版中,此命令已被删除,因为触发器在系统目录中不再被“弄乱”。