返回首页

gbase数据、南大通用产品文档:GBase8s

更新日期:2024年09月11日

Error in timestamp format
无效的时间戳格式被传送到 JDBC 转义子句。
该时间戳字符的转义子句具有以下格式:
{ts
'yyyy-mm-dd hh:mm:ss.f...'}。

No such column name
指定的列名不存在。请确保该列名是正确的。

发布可以被定义在任何物理复制的主服务器上。
定义有发布的节点被称为发布者。
发布
是从一个表或者一组表生成的改变的集合,
也可以被描述为更改集合或者复制集合。
每个发
布都只存在于一个数据库中。
发布与模式不同,
不会影响表的访问方式。
如果需要,
每个表都可以被加入到多个发布。
当前,发布只能包含表。对象必须被明确地加入到发布,除非发布是用ALL TABLES 创建
的。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
1129
发布可以选择把它们产生的更改限制为INSERT、UPDATE、DELETE 的任意组合,类
似于触发器如何被特定事件类型触发的方式。默认情况下,所有操作类型都会被复制。
为了能够复制UPDATE 和DELETE 操作,被发布的表必须配置有一个“复制标识”,这
样在订阅者那一端才能标识对于更新或删除合适的行。默认情况下,
复制标识就是主键(如
果有主键)。也可以在复制标识上设置另一个唯一索引(有特定的额外要求)。如果表没有
合适的键,那么可以设置成复制标识“full”,它表示整个行都成为那个键。不过,这样做效
率很低,只有在没有其他方案的情况下才应该使用。如果在发布者端设置了“full”之外的复
制标识,在订阅者端也必须设置一个复制标识,它应该由相同的或者少一些的列组成。
如何
设置复制标识的细节请参考REPLICA IDENTITY。
如果在复制UPDATE 或DELETE 操作的
发布中加入了没有复制标识的表,那么订阅者上后续的UPDATE 或DELETE 操作将导致错
误。不管有没有复制标识,INSERT 操作都能继续下去。
每一个发布都可以有多个订阅者。
Publication通过使用CREATE PUBLICATION命令创建并且可以在之后使用相应的命令
进行修改或者删除。
表可以使用ALTER PUBLICATION 动态地增加或者移除。ADD TABLE 以及DROP
TABLE 操作都是事务性的,
因此一旦该事务提交,
该表将以正确的快照开始或者停止复制。