# 49.8.同步复制支持逻辑解码

49.8.1. 概述

49.8.2. 警告

# 49.8.1.概述

逻辑解码可用于构建同步复制具有与同步复制相同用户界面的解决方案流式复制。为此,请使用流式复制接口(请参阅第49.3节)必须用于流式输出数据。客户必须发送待机状态更新(F)(见第53.4节)消息,就像流式复制客户端一样。

# 笔记

通过逻辑解码接收更改的同步副本将在单个数据库的范围内工作。因为,与此相反,*同步_备用_名称*目前是服务器范围的,这意味着如果多个数据库被积极使用,这种技术将无法正常工作。

# 49.8.2.警告

在同步复制设置中,如果事务已锁定,则可能会发生死锁[使用者]只提供目录表。看见第49.6.2节有关用户目录表的信息。这是因为事务的逻辑解码可以锁定目录表以访问它们。为了避免这种情况,用户必须避免独占锁定[使用者]目录表。这可以通过以下方式实现:

  • 发布明确的在…上pg_类在交易中。

  • 表演在…上pg_类在交易中。

  • 准备交易之后指挥pg_类并允许对两阶段事务进行逻辑解码。

  • 准备交易之后指挥pg_触发器并允许对两阶段事务进行逻辑解码。只有当发布的表有触发器时,这才会导致死锁。

  • 执行截断在…上[使用者]事务中的目录表。

    请注意,这些可能导致死锁的命令不仅适用于上面明确指出的系统目录表,还适用于任何其他系统目录表[使用者]目录表。