5.2.删除节点
因为 BDR 可以恢复从扩展的节点停机就必须明确地告诉系统是否你永久删除一个节点。如果你永久关闭节点和别告诉其他节点然后性能会受到影响,并最终,整个系统将停止工作。
每个节点保存了更改信息 (对于每个对等节点使用一个复制插槽) 所以它可以重播对暂时无法访问节点的更改。如果对等节点无限期地保持离线状态此积累的变化信息会导致该节点运行的存储空间,PostgreSQL 事务日志 (WAL,在 pg_xlog),可能会导致数据库服务器来关闭这样的错误︰
PANIC︰ 无法写入文件"pg_xlog/xlogtemp.559": 设备上没有剩余空间
或其他磁盘出相关的症状报告。
注意︰ 管理员应该监视节点中断 (见︰ 监测和确保节点具有足够的可用磁盘空间。
用 bdr.bdr_part_by_node_names 函数删除节点。你必须指定节点名称 (如通过节点创建期间) 中删除节点。你应该叫 bdr.bdr_part_by_node_names,从将留在 BDR 组,不会移除的节点的节点。可以一次删除多个节点。不返回任何值;删除状态可能被检查状态字段中为该节点的 bdr.bdr_nodes。
若要删除节点 1:
选择 bdr.bdr_part_by_node_names(ARRAY['node-1']);
或一次删除多个节点︰
选择 bdr.bdr_part_by_node_names (数组 [' 节点 1',' 节点 2',' 节点 3']);
如果你只知道插槽名称从 pg_replication_slots 而不是节点名称从 bdr.bdr_nodes 你也可以选择在您打算删除,或从插槽名称使用 bdr.bdr_node_slots 视图查看它的节点上的 bdr.bdr_get_local_node_name()。