在 Postgres 12.3 中,ENABLE REPLICA TRIGGER 和 ENABLE ALWAYS TRIGGER 是否有任何不同?

Are ENABLE REPLICA TRIGGER and ENABLE ALWAYS TRIGGER different in any way in Postgres 12.3?

我正在检查 Postges 12.3 中的逻辑复制...它很棒。一个简单的问题,ENABLE REPLICA TRIGGERENABLE ALWAYS TRIGGER 之间的行为有什么不同吗?我在一个简单的测试设置中都尝试过,它们都可以触发副本端触发器。

我无法在文档中找到任何额外的详细信息,也无法进行一些搜索。

如果它们是同义词,我将使用 ENABLE REPLICA TRIGGER,因为它似乎是一个更具体的意图声明。

谢谢。

看这里:

https://www.postgresql.org/docs/current/sql-altertable.html

Simply enabled triggers (the default) will fire when the replication role is “origin” (the default) or “local”. Triggers configured as ENABLE REPLICA will only fire if the session is in “replica” mode, and triggers configured as ENABLE ALWAYS will fire regardless of the current replication role.