首页 > 其他分享 >openGauss 发布

openGauss 发布

时间:2024-05-07 10:12:24浏览次数:16  
标签:订阅 UPDATE 标识 发布 复制 openGauss DELETE

发布

发布可以被定义在任何物理复制的主服务器上。定义有发布的节点被称为发布者。发布是从一个表或者一组表生成的改变的集合,也可以被描述为更改集合或者复制集合。每个发布都只存在于一个数据库中。

发布与模式不同,不会影响表的访问方式。如果需要,每个表都可以被加入到多个发布。当前,发布只能包含表。对象必须被明确地加入到发布,除非发布是用ALL TABLES创建的。

发布可以选择把它们产生的更改限制为INSERT、UPDATE、DELETE的任意组合,类似于触发器如何被特定事件类型触发的方式。默认情况下,所有操作类型都会被复制。

为了能够复制UPDATE和DELETE操作,被发布的表必须配置有一个“复制标识”,这样在订阅者那一端才能标识对于更新或删除合适的行。默认情况下,复制标识就是主键(如果有主键)。也可以在复制标识上设置另一个唯一索引(有特定的额外要求)。如果表没有合适的键,那么可以设置成复制标识“full”,它表示整个行都成为那个键。不过,这样做效率很低,只有在没有其他方案的情况下才应该使用。如果在发布者端设置了“full”之外的复制标识,在订阅者端也必须设置一个复制标识,它应该由相同的或者少一些的列组成。如何设置复制标识的细节请参考REPLICA IDENTITY。如果在复制UPDATE或DELETE操作的发布中加入了没有复制标识的表,那么订阅者上后续的UPDATE或DELETE操作将导致错误。不管有没有复制标识,INSERT操作都能继续下去。

每一个发布都可以有多个订阅者。

Publication通过使用CREATE PUBLICATION命令创建并且可以在之后使用相应的命令进行修改或者删除。

表可以使用ALTER PUBLICATION动态地增加或者移除。ADD TABLE以及DROP TABLE操作都是事务性的,因此一旦该事务提交,该表将以正确的快照开始或者停止复制。

详情查看:https://opengauss.org

详情查看:https://docs-opengauss.osinfra.cn

标签:订阅,UPDATE,标识,发布,复制,openGauss,DELETE
From: https://www.cnblogs.com/renxyz/p/18176616

相关文章

  • openGauss 订阅
    订阅订阅是逻辑复制的下游端。订阅被定义在其中的节点被称为订阅者。一个订阅会定义到另一个数据库的连接以及它想要订阅的发布集合(一个或者多个)。订阅者数据库的行为与任何其他openGauss实例相同,并且可以被用作其他数据库的发布者,只需要定义它自己的发布。如果需要,一个订阅者......
  • openGauss 导入数据
    导入数据openGauss数据库提供了灵活的数据入库方式:INSERT、COPY以及gsql元命令\copy。各方式具有不同的特点,具体请参见表1。表1导入方式特点说明方式特点INSERT通过INSERT语句插入一行或多行数据,及从指定表插入数据。COPY通过COPYFROMSTDIN语句直接向openGa......
  • openGauss 导出数据库
    导出数据库openGauss支持使用gs_dump工具导出某个数据库级的内容,包含数据库的数据和所有对象定义。可根据需要自定义导出如下信息:导出数据库全量信息,包含数据和所有对象定义。使用导出的全量信息可以创建一个与当前库相同的数据库,且库中数据也与当前库相同。仅导出所有对......
  • openGauss 导出所有数据库-11
    导出所有数据库openGauss支持使用gs_dumpall工具导出所有数据库的全量信息,包含openGauss中每个数据库信息和公共的全局对象信息。可根据需要自定义导出如下信息:导出所有数据库全量信息,包含openGauss中每个数据库信息和公共的全局对象信息(包含角色和表空间信息)。使用导出的全......
  • openGauss 导出模式
    导出模式openGauss目前支持使用gs_dump工具导出模式级的内容,包含模式的数据和定义。用户可通过灵活的自定义方式导出模式内容,不仅支持选定一个模式或多个模式的导出,还支持排除一个模式或者多个模式的导出。可根据需要自定义导出如下信息:导出模式全量信息,包含数据和对象定义。......
  • openGauss 导出全局对象
    导出全局对象openGauss支持使用gs_dumpall工具导出所有数据库公共的全局对象,包含数据库用户和组,表空间及属性(例如:适用于数据库整体的访问权限)信息。操作步骤以操作系统用户omm登录数据库主节点。使用gs_dumpall导出表空间对象信息。gs_dumpall-Uomm-f/home/omm/backu......
  • openGauss 磁盘空间达到阈值-数据库只读
    磁盘空间达到阈值,数据库只读问题现象执行非只读SQL时报错如下。ERROR:cannotexecute%sinaread-onlytransaction.或者运行中部分非只读SQL(insert、update、createtableas、createindex、altertable及copyfrom等)时报错。cancelingstatementduetodefault_tran......
  • openGauss 磁盘满故障引起的core问题
    磁盘满故障引起的core问题问题现象TPCC运行时,注入磁盘满故障,数据库进程gaussdbcore掉,如下图所示。原因分析数据库本身机制,在磁盘满时,Xlog日志无法进行写入,通过panic日志退出程序。处理办法外部监控磁盘使用状况,定时进行清理磁盘。......
  • openGauss 导出表
    导出表openGauss支持使用gs_dump工具导出表级的内容,包含表定义和表数据。视图、序列和外表属于特殊的表。用户可通过灵活的自定义方式导出表内容,不仅支持选定一个表或多个表的导出,还支持排除一个表或者多个表的导出。可根据需要自定义导出如下信息:导出表全量信息,包含表数据和表......
  • openGauss 处理错误表
    处理错误表操作场景当数据导入发生错误时,请根据本文指引信息进行处理。查询错误信息数据导入过程中发生的错误,一般分为数据格式错误和非数据格式错误。数据格式错误在创建外表时,通过设置参数“LOGINTOerror_table_name”,将数据导入过程中出现的数据格式错误信息写入指定......