A.1.版本 1.0.0
1.0.0 版本提高了架构更改 DDL 锁、 文档、 管理工具和更多。 然而他们应该升级到 bdr-pg 9.4.9 升级到 bdr-插件 1.0.0 之前,它是 0.9.x 的用户,直接升级。
最重要的变化是︰
DDL 锁以减少其业务的影响通过允许写事务改善限期前取消,阻止新的写事务,而不是生成,和允许许多的 DDL 操作,避免阻塞行写在所有
UDR 的去除
通过 bdr_node_join 克隆 来创建新的节点,删除表列的修复
全局序列快速消耗时,调高了性能
在此版本中有重要的兼容性的变化。BDR 1.0 中移除 UDR。 如果你需要上未安装修补程序社区 PostgreSQL 9.4/9.5/9.6 的单向复制,请使用 pglogical。
BDR 1.0 的操作完全不同于0.9.x (不兼容) ; 它不能加入 0.9.x 组, 并且 0.9.x 的BDR不能加入到1.0的组中去。 但是,在现有的 0.9.x 群集的单个节点可以一个接一个的升级到 1.0 ,在整个过程中保持集群整体可用。
版本中的更改︰
解决删除列在逻辑节点初始化,以防止"元组 natts 不匹配"错误 (git 9323f3,#113 #114) 的处理
删除 UDR
等待一分钟新序列值从精疲力竭的全局序列之前生成 (git f7e9b4)
不为非架构限定的 temp 表滴 (#124) 获取全球 DDL 锁
添加的杀所有写交易时获取 DDL 锁,配置 bdr.max_ddl_lock_delay (git 0e02cc27,91a0d2505) 由之前的一段宽限期
让 DML 等到 DDL 锁,而不是生成 (git b754c0c4)
添加特定于 DDL 的锁超时,bdr.bdr_ddl_lock_timeout (git 91a0d2505)
添加一个新的 DDL 锁类型,仅阻止其他 DDL,不 DML (插入/更新/删除) (git 10b331fe,6d2a09fb)
高速缓存更多的价值,为全球的序列,使高速缓存大小可配置与 cache_chunks reloption (git 071e94)
请确保序列缓存永远不会重复使用之后物理节点复制 (#101)
默认序列块大小增加到 10 k (git ff0726)
展开节点部分/联接检查和错误消息 (git 6c58df 和其他人)
pg_catalog 表 (#102) 允许 DML
创建 BDR 的内部截形触发器为内部触发器 (git 0c96b9ff,#62)
适用工人注意复制设置的更改和 DSN 更改无需手动终止/重新启动 (git 7faf648e)
使 bdr_apply_resume() 立即生效 (git 72eb77)
忽略晃来晃去的 bdr_connections 行,没有相应的 bdr_nodes 条目 (509848,git #50,#97,#126)
不获取全球的 DDL 锁时创建或删除索引的临时表 (git aebd93,礼貌的迈克尔 · 艾伦)
盯着崩溃插入到一个表表达式索引 (git 06f52b,礼貌的阿卜杜勒 · 雅迪)
使 bdr_supervisordb 检查不严格,修复 vacuumdb-和其他的工具 (git dba912,#154)
分组到单个命令来修复截断与外键或截形叶栅 (git fcdf1b,#48) 的多个复制的 TRUNCATEs
添加连接复制集的管理功能
添加低级别适用/重播跟踪通过 bdr.trace_replay (git 4feb4004b,#185)
添加 DDL 锁跟踪/测井通过 bdr.trace_ddl_locks_level (git beee79dd4)
允许连接选项为所有 BDR 连接与 bdr.extra_apply_connection_options (git 491f5e90a,#173) 规范
默认情况下,启用 TCP 保持连线适用工人 (#173)
通过从 9.5 和 9.6 通过新的 bdr.pg_replication_slots 视图 (#186) 'pid' 和 'confirmed_flush_lsn' pg_replication_slots 列的访问。
添加功能终止适用和 walsender 工人 (bdr_terminate_walsender_workers 和 bdr_terminate_apply_workers)
添加一个函数来允许 BDR 工人跳过变化 (#181)
添加函数,以控制配置为连接的复制集
添加一个函数来从一个节点中完全移除 BDR bdr.remove_bdr_from_local_node()
广泛的文件更新
最大的变化是在节 8.1.1 函数章节。