在开发的时候,我将 Postgres 数据库与复制一起使用。
我在 postgres 函数中使用了临时表。
我无法在通过加入更新临时表时更新它。
在进行修改的时候就出现了:
cannot update table "home" because it does not have a replica identity and publishes updates
我尝试了几种方法,找到了解决方案。事实证明,PostgreSQL 不喜欢缺少涉及复制的主键的表,甚至是临时表。因此,要么在临时表中添加一个,要么在创建表后使用这样的语句:
ALTER TABLE table_name REPLICA IDENTITY FULL;
执行了上面的sql之后,就可以修复刚刚出现的问题