我正在尝试编写一个服务,当几个表发生更改时,它将从 Postgres DB 接收更新。我正在使用 psycopg2 库在 Python 中编写它。我发现了一个非常简单的解决方案的几个示例 - 使用 PUBLICATION 和 SUBSCRIPTION 但它没有提供选择哪些表应该触发服务通知的选项。要么全有,要么全无。
有一个 Pglogical - Postgres 的扩展,它提供了定义应该生成更新的表子集的能力,但它看起来可以用来同步两个数据库,我还没有找到任何连接到 pglogical 节点的方法使用 psycopg2 接收通知。
我做了以下事情:
replication_test=> CREATE EXTENSION pglogical;
然后
select pglogical.create_node(node_name := 'provider', dsn := 'host=** port=5432 dbname=replication_test');
然后
select pglogical.create_replication_set('first', True, True, True, False);
现在我想知道如何连接到此节点以first
从作为 Lambda 或 EC2 实例运行的 Python 代码接收表上的更新。