业务要在 profiles 插入后通知计费或调用 Edge Function,却把同步 HTTP 塞进触发器——或本地调试把 localhost 写进 Webhook URL 打到容器自己。
Supabase Docs《Database Webhooks》(dateModified 可核)说明:Database Webhooks 在表事件发生时把实时数据发到另一系统;可挂钩 INSERT、UPDATE、DELETE,且均在行变更之后触发。它们与触发器很像,实质是用 pg_net 扩展对触发器的便利包装;扩展异步,因此不会因长耗时网络请求长时间阻塞数据库变更。可用 Dashboard 创建,也可用 SQL 直接建 trigger,调用 supabase_functions.http_request。支持 HTTP POST/GET 等;也可在每次表事件时调用 Edge Function,函数以请求体收载荷,并用项目 secret key 做服务间调用。文档提醒:若把密钥写进触发器定义,密钥会出现在触发器 SQL/数据库转储中;可用 Supabase Vault 存 project_url 与 secret_key,在触发函数里读取后再 net.http_post。本地实例中 Postgres 在 Docker 内,Webhook URL 的 localhost 指向容器自身,应使用 host.docker.internal(或主机局域网 IP)。载荷由底层表记录自动生成,含 type/table/schema/record/old_record。本场景据此输出出站简报。禁止把生产 secret 写入示例迁移或声称「生产触发器已安全」。