逻辑解码 - postgres - 多种输出格式

Logical decoding - postgres - multiple output formats

我一直在尝试使用 postgres 的逻辑解码来构建管道。但是,我有点困惑。请在下面找到我的问题

  1. 我建立了一个pub-sub,我可以看到两台服务器之间的数据流动。但是,我没有设置任何插槽。我什么时候使用 create_replication_slots?
  2. 我期望在我已经实现的 2 个服务器之间复制 tables。但是,像旧值和新值这样的详细日志记录,我想存储在 S3 的文件中吗?我可以同时写入 table 和将详细日志记录写入 s3 吗?
  3. 如果我在 server1 上有一个数据库 db1,在 server2 上有一个数据库 db2,我可以将它们放在 server3 上,数据库 server3.db1 连接到 server1.db1 和 server3.db2 连接到 server2.db2 吗?

我正在使用 postgres10

请分享您对此的看法

问题 1:默认情况下,CREATE SUBSCRIPTION 将创建一个逻辑复制槽。

问题 2:使用带有适当插件的两个复制槽。用于复制到 table 的那个是在您创建订阅时自动创建的。要写入文件,您必须明确创建一个复制槽并指定一个合适的插件(我不知道是否存在这样的插件,您可能必须编写它)。

问题 3:是的。

由于 v10 的限制,我至少会使用 v11 进行逻辑复制。