可以在任何物理复制主机上定义发布。 定义发布的节点称为发布者。 发布是从一个表或一组表中生成的一组更改,也可能被描述为更改集或复制集。 每个发布只存在于一个数据库中。
   发布与模式不同,不影响表格的访问方式。如果需要,每张表可以添加到多个发布。
   发布目前可能只包含表。对象必须显式添加,
   除非为ALL TABLES创建了一个发布。
  
   发布可以选择将它们所产生的改变限制在INSERT,
   UPDATE和DELETE的任意组合上,
   类似于触发器被特定事件类型触发。默认情况下,复制所有操作类型。
  
   已发布的表格必须配置一个“副本标识”以便能够复制
   UPDATE和DELETE操作,
   这样可以在订阅者端识别适当的行来更新或删除。默认情况下,这是主键,
   如果有的话。另外唯一的索引(有一些额外的要求)也可以被设置为副本标识。
   如果表没有任何合适的键,那么它可以设置为复制标识“full”,
   这意味着整个行成为键。但是,这是非常低效的,
   并且只能在没有其他可能的解决方案时用作后备。
   如果发布者端设置了除“full”之外的副本标识,
   则还必须在订阅者端设置包含相同或更少列的副本标识。
   有关如何设置副本标识的详细信息,请参见REPLICA IDENTITY。
   如果没有副本标识的表被添加到复制UPDATE或DELETE
   操作的发布中,则后续的UPDATE或DELETE
   操作会在发布者上造成错误。无视副本标识,INSERT操作都可以进行。
  
每个发布可以有多个订阅者。
使用CREATE PUBLICATION命令创建发布,稍后可以使用对应的命令修改或删除。
   使用ALTER PUBLICATION可以动态的添加或删除单个表。
   ADD TABLE和DROP TABLE操作都是事务型的;
   所以一旦事务提交,表就会启动或停止在正确的快照上复制。