postgres触发器创建

rez*_*eza 9 postgresql triggers

如果它不存在,我该如何只创建一个触发器?

当我创建或替换时,我得到语法错误,所以我正在寻找一种方法来测试是否存在触发器.

我总是可以从pg_trigger中选择*,但我确信有更合适的方法.

谢谢

El *_*obo 17

Postgres可以有条件地删除触发器 - 请参阅文档.创建触发器之前执行此操作,然后它将始终有效.

DROP TRIGGER IF EXISTS mytrigger ON mytable;
Run Code Online (Sandbox Code Playgroud)

正如杰克在评论中指出的那样,这个功能自8.2以来才可用; 这已经超过四年了,所以它应该在你的版本中可用.