在 AWS Aurora/postgres 上监听/通知

Wod*_*see 9 postgresql amazon-rds amazon-aurora pg-notify

我希望实现一个触发器,在 PostgreSQL 中的表更改时发出通知,但我无法找到它是否可以在集群中工作的任何明确答案。

PostgreSQL 监听/通知是否可以在 AWS Aurora(预配置和无服务器)上工作,我是否可以期望所有客户端都收到通知,无论它们连接到哪个实例?

如果是,是否存在任何主要的性能问题?

谢谢 :)

Tod*_*odd 6

最好的 AWS 文档暗示 - 是的,它确实有效

特别是对于 Aurora Serverless,有一条建议称不建议“聆听/通知”。这意味着 Aurora Serverless 是可行的,但不建议这样做。这还意味着正常的 RDS LISTEN/NOTIFY 确实有效并且可以使用。

https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html

目前,某些 SQL 查询和命令,例如带有 Hold 的游标(DECLARE name ... CURSOR WITH HOLD FOR query);会话级咨询锁;临时关系;异步通知(LISTEN、NOTIFY 命令)会阻止扩展,因此不建议使用

我自己在 AWS 上的快速测试表明 - 是的,它确实有效

  1. 启动具有公共访问权限的实例

在此输入图像描述

...

在此输入图像描述

  1. 允许流量

在此输入图像描述

  1. 在 dbeaver 中运行命令

在此输入图像描述

注意:此测试并不显示已成功收到通知。这将需要一个快速的控制台应用程序来测试它。