Postgresql 在不删除触发器的情况下替换触发器过程

Postgresql 在不删除触发器的情况下替换触发器过程,postgresql,triggers,plpgsql,postgresql-9.2,Postgresql,Triggers,Plpgsql,Postgresql 9.2,我有一个触发程序: CREATE OR REPLACE FUNCTION my_func() RETURNS trigger AS $BODY$ // Do something :-) RAISE NOTICE 'Done'; RETURN NEW; END; $BODY$ LANGUAGE plpgsql; 它用于审计,我的数据库中的每个表都有调用该过程的触发器 我想做的是删除“提高通知”这一行——看起来很简单,但事实并非如此。。我试图在没有行的情况下向数据库插入新过程

我有一个触发程序:

CREATE OR REPLACE FUNCTION my_func() RETURNS trigger AS
$BODY$

    // Do something :-)

    RAISE NOTICE 'Done';

RETURN NEW;
END;
$BODY$
LANGUAGE plpgsql;
它用于审计,我的数据库中的每个表都有调用该过程的触发器

我想做的是删除“提高通知”这一行——看起来很简单,但事实并非如此。。我试图在没有行的情况下向数据库插入新过程,认为“createodREPLACE”可以完成这项工作,但我的数据库中仍然只有旧版本

我认为问题是由与程序相关的触发器引起的

我一定要去吗。删除所有触发器(超过80个表=>80个触发器:(),2.用新版本替换过程,3.重新创建触发器

还是有其他办法让“武力取代”

数据库管理系统:PostgreSQL 9.2.6

我试图做的是删除“raisenotice”行-看起来很简单,但事实并非如此..我试图在没有该行的情况下向数据库插入新过程,认为“createod REPLACE”可以完成这项工作,但我的数据库中仍然只有旧版本

没有。可能是您在错误的数据库、错误的模式中安装了新函数,名称中有输入错误,未能提交更改,或者错过了错误消息


我经常替换触发器函数,它们与任何其他函数没有什么不同-
CREATE或replace
工作得很好。

我确信db、schema等都是正确的。仍然是相同的问题。奇怪。把一个自包含的示例放在一起,说明这个问题,它将被视为一个bug。我猜你将无法重现信息技术