ERROR: syntax error at or near "FUNCTION" while db restoring

ERROR: syntax error at or near "FUNCTION" while db restoring

我在从转储中恢复数据库时出错。这是什么意思?

ERROR:  syntax error at or near "FUNCTION"
LINE 1: ...LETE ON public.currency_rate FOR EACH ROW EXECUTE FUNCTION p...


--
-- Name: currency_rate currency_rate_bt_delete; Type: TRIGGER; Schema: public; Owner: -
--

CREATE TRIGGER currency_rate_bt_delete 
INSTEAD OF DELETE ON public.currency_rate 
FOR EACH ROW 
EXECUTE FUNCTION public.currency_rate_bt_delete();

您必须在 public.currency_rate_bt_delete() 之前使用 PROCEDURE 而不是 FUNCTION 您的触发查询应如下所示:

CREATE TRIGGER currency_rate_bt_delete 
INSTEAD OF DELETE ON public.currency_rate 
FOR EACH ROW 
EXECUTE PROCEDURE public.currency_rate_bt_delete();       

注意:- 此答案仅限于问题中提到的错误。

您的 dump/restore 的问题是您使用 PostgreSQL v13 创建转储它生成了您显示的转储。

但随后您尝试在不理解该转储的 PostgreSQL v10 上恢复该转储