PostgreSQL中log_event函数pgAdmin可调用但PostgREST调用失败求助
问题解决:PostgREST调用PostgreSQL函数失败
错误原因
你遇到的42883错误核心在于参数类型不匹配:你的public.log_event函数接收json类型参数,但你发送的请求体把JSON对象嵌套在了event键下,PostgREST将这个嵌套内容解析成了text类型,导致数据库找不到对应参数类型的函数。
解决方案
修改Python代码的请求体结构,直接把目标JSON对象作为请求体内容,去掉外层的event键即可:
event = { "event_type": "foo", "message": "bar", "user": "foobar" } requests.post('https://server/rpc/log_event', json=event)
这样PostgREST会自动将请求体的JSON内容绑定到函数的event参数上,并识别为json类型,匹配到你定义的函数。
内容的提问来源于stack exchange,提问作者Halmackenreuter
相关产品推荐
相关产品推荐

