You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Supabase PostgreSQL实时订阅失败:filter参数解析错误求助

问题原因及解决方案

问题出在字符串类型的UUID没有用单引号包裹。

你的users表的id是UUID(字符串类型),而官方示例中的id是数字类型:数字作为匹配值时不需要引号,但字符串必须用单引号括起来,否则Supabase的实时订阅解析器会把UUID拆分成多个参数,引发解析错误。

修改后的代码

const userId = session.data.session.user.id;

supabaseListener = supabase
  .channel("balance")
  .on(
    "postgres_changes",
    {
      event: "UPDATE",
      schema: "public",
      table: "users",
      filter: `id=eq.'${userId}'`, // 给userId加上单引号
    },
    handleRecordUpdated
  )
  .subscribe();

return () => {
  authListener.unsubscribe();
  if (supabaseListener) {
    supabaseListener.unsubscribe();
  }
};

修改后console.log会输出id=eq.'f96efe56-ff22-4fc4-abc1-abc1',符合PostgreSQL字符串值的匹配语法,就能正常订阅事件了。

内容的提问来源于stack exchange,提问作者Alex S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 15:17:23