使用supabase-py查询Supabase数据库始终返回空列表,关闭RLS后恢复正常的问题求助
supabase-py查询Supabase数据库始终返回空列表,关闭RLS后恢复正常的问题求助
大家好,我最近碰到个头疼的问题,想请教下社区的朋友们。
我的配置其实很简单:一个基础的Supabase数据库,里面就一张名为prod_vxf的表。我用supabase-py来和数据库交互,但不管怎么查,返回的都是空列表。
我的代码是这样的:
from supabase import create_client URL = "MY_URL_HERE" API_KEY = "MY_API_KEY_HERE" supabase = create_client(URL, API_KEY) response = supabase.table("prod_vxf").select("*").execute() print(response.data) # 输出结果是 []
后来我查了一些类似的问题,发现大家提到的解决方案都是关闭RLS(行级安全)。于是我去Supabase控制台把prod_vxf表的RLS关掉了,结果一下子就正常了——现在执行上面的代码能返回非空的数据列表了:
print(response.data) [ {"id": ..., ...} ]
我想搞明白这背后的原因是什么?有没有办法不用关闭RLS也能正常查询到数据呢?毕竟关闭RLS好像不太安全,希望能得到大家的指点!
备注:内容来源于stack exchange,提问作者VERBOSE
相关产品推荐
相关产品推荐

