从数据库触发器调用边缘函数

问题描述 投票:0回答:1

我正在使用

supabase
并尝试实现一些警告功能。我想在数值低于特定值时发送电子邮件。

我了解数据库

triggers
,但我不确定两件事。

  1. 如何检查该值是否第一次低于阈值?是否有机会获取表行更改之前和之后的值?
  2. 我可以从触发器或从触发器调用的数据库函数(我可以在其中发送电子邮件)调用边缘函数吗?
triggers supabase supabase-database
1个回答
2
投票

您的设计是可能的。

关于第1点:
postgres 触发器函数可以将 OLD 和 NEW 值视为特殊变量。请参阅此处:https://www.postgresql.org/docs/current/plpgsql-trigger.html 但它们可能为空,具体取决于操作(插入没有旧值,删除没有新值)。您还可以使用

TG_OP
访问触发触发器的操作,请参阅此处:PostgreSQL:在触发器的函数中检查 NEW 和 OLD

关于第2点:
Postgres-triggers 可以使用

pg_net
扩展名发出 http 请求,您可以使用它来使用正确的数据触发边缘函数。这有点简单,但是很有效。 https://supabase.com/docs/guides/database/extensions/pg_net

© www.soinside.com 2019 - 2024. All rights reserved.